pyspark提交集群任务


1.打包python环境

建议使用conda

conda克隆环境

conda create -n prod_env --clone base

进入conda的miniconda3/envs

# 打包python环境

zip -r prod_env.zip  prod_env

  

 

2.提交任务

sh脚本

 

export PYSPARK_DRIVER_PYTHON=xxxx/envs/prod_env/bin/python3
export PYSPARK_PYTHON=./ENV/prod_env/bin/python3
spark-submit \
--master yarn \
--deploy-mode client \
--archives prod_env.zip#ENV \  #这里是注释 会上传本地的prod_env.zip到hdfs上,作为缓存,运行时会解压到ENV目录,程序结束后自动删除; 如果python的库变动不大,可以提前做好zip包上传到hdfs上,然后指定hdfs:///your-path
--conf spark.driver.host=ip地址 \  # 此处是避免集群与client通信失败,默认绑定的是主机名
hello.py

  

hello.py

from pyspark import SparkConf
from pyspark.sql import SparkSession

print("==========app start=========")
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
df = spark.sql('show databases')
df.show()
print("==========app stop=========")
spark.stop()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM