Pyspark 在纱线集群模式下不使用 python3,即使使用 PYSPARK_PYTHON=python3

问题描述 投票:0回答:2

我已经使用ambari在spark-env.sh中设置了PYSPARK_PYTHON=python3,当我在命令行中尝试“pyspark”时,它使用python 3.4.3运行。但是,当我使用纱线集群模式提交作业时,它使用 python 2.7.9 运行。我如何让它使用python3?

python apache-spark pyspark ambari
2个回答
0
投票

您需要提供 python3 的完整路径,例如:

subprocess.call(['export PYSPARK_PYTHON=/usr/local/bin/python2.7'],shell=True)

0
投票

在创建 Spark 会话之前,使用 Python 中的环境变量,就像下面的示例片段一样

从 pyspark.sql 导入 SparkSession
os.environ['PYSPARK_PYTHON'] = sys.executable
os.environ['PYSPARK_DRIVER_PYTHON'] = sys.executable
# 初始化 Spark 会话
火花 = SparkSession.builder \
    .appName("字符串到 CSV") \
    .getOrCreate()
© www.soinside.com 2019 - 2024. All rights reserved.