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()
本文来自博客园,作者:一支小白,转载请注明原文链接:https://www.cnblogs.com/startnow/p/13697739.html