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()

 

posted @ 2020-09-19 21:36  一支小白  阅读(2511)  评论(0编辑  收藏  举报