2017-07-07 150 views
0

我创造与AWS EMR火花应用程序,但与Python 3而不是Python的2 火花提交运行但是当我运行pyspark相反,它是Python的2力Python2火花提交

哪有我强制spark-submit使用Python 2?

我试图做

export PYSPARK_PYTHON=/usr/bin/python2 

,但没有奏效。

感谢

回答

0

其实我在我的代码

from __future__ import print_function 

有这一点,当我运行打印“世界你好”这是崩溃,因为它不是默认的打印功能。但我认为这是崩溃,因为它是使用Python 3而不是Python的2

1

你试过插入

PYSPARK_PYTHON=/usr/bin/python2 

语句转换成spark-env.sh文件?

+0

你的意思是我应该做的: 出口PYSPARK_PYTHON =的/ usr/bin中/ python2 运行脚本之前? 我试图SSH到集群,并手动运行spark-submit code.py,它似乎与Python 2运行。但是,当我用--steps spark-submit ...它运行Python 3. – Pierre

+0

嗨,我的意思是,是否已将PYSPARK_PYTHON环境变量添加到群集节点的$ SPARK_HOME/conf/spark-env.sh文件中。 $ SPARK_HOME是安装Spark的目录。 –

+0

我刚刚尝试过,但仍然无效。 所以基本上,当我从SSH调用spark-submit时,它会使用Python2运行,但是当我使用AWS控制台(或cli)添加步骤'spark-submit'时,它将运行Python3。 – Pierre