2017-07-07 145 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