我正在尝试在yarn-client模式下使用PySpark运行python模块。我的集群上的默认 python 是 2.6.6,我想使用安装在集群上路径$/apps/anaconda/4.3.1/3/bin/python3.6
下的 python 3。当我通过下面的 spark2-submit 运行 Spark 模块时,它失败了,说明使用了错误版本的 Python。当我使用 yarn-cluster 在集群模型中运行相同的代码时,它成功了。我的问题:我该如何解决这个问题?如何让它在 python 3.6 的 yarn-client 模式下工作?
spark2-submit --master yarn --deploy-mode client --conf 'spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON=/apps/anaconda/4.3.1/3/bin/python3.6' --conf 'spark.yarn.appMasterEnv.PYSPARK_PYTHON=/apps/anaconda/4.3.1/3/bin/python3.6' --queue=queue-name --py-files custom-python-code.zip file.py
而不是
spark.yarn.appMasterEnv.PYSPARK_PYTHON=/apps/anaconda/4.3.1/3/bin/python3.6
用
spark.executorEnv.PYSPARK_PYTHON=/apps/anaconda/4.3.1/3/bin/python3.6
前者仅适用于集群模式。