我已经使用ambari在spark-env.sh中设置了PYSPARK_PYTHON=python3,当我在命令行中尝试“pyspark”时,它使用python 3.4.3运行。但是,当我使用纱线集群模式提交作业时,它使用 python 2.7.9 运行。我如何让它使用python3?
您需要提供 python3 的完整路径,例如:
subprocess.call(['export PYSPARK_PYTHON=/usr/local/bin/python2.7'],shell=True)
在创建 Spark 会话之前,使用 Python 中的环境变量,就像下面的示例片段一样
从 pyspark.sql 导入 SparkSession os.environ['PYSPARK_PYTHON'] = sys.executable os.environ['PYSPARK_DRIVER_PYTHON'] = sys.executable # 初始化 Spark 会话 火花 = SparkSession.builder \ .appName("字符串到 CSV") \ .getOrCreate()