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