Python 2.7 使用spark提交强制Python2

Python 2.7 使用spark提交强制Python2,python-2.7,apache-spark,pyspark,spark-submit,Python 2.7,Apache Spark,Pyspark,Spark Submit,我正在使用AWS EMR创建Spark应用程序,但是Spark submit使用Python 3而不是Python 2运行。 但是当我运行pyspark时,它是python2 如何强制spark提交以使用Python 2 我试着去做 export PYSPARK_PYTHON=/usr/bin/python2 但它不起作用 谢谢您是否尝试插入 PYSPARK_PYTHON=/usr/bin/python2 语句转换到spark-env.sh文件中?实际上我的代码中有这个 from __f

我正在使用AWS EMR创建Spark应用程序,但是Spark submit使用Python 3而不是Python 2运行。 但是当我运行pyspark时,它是python2

如何强制spark提交以使用Python 2

我试着去做

export PYSPARK_PYTHON=/usr/bin/python2 
但它不起作用


谢谢

您是否尝试插入

PYSPARK_PYTHON=/usr/bin/python2 

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

实际上我的代码中有这个

from __future__ import print_function

当我运行打印“hello world”时,它崩溃了,因为它不是默认的打印功能。但是我认为它崩溃了,因为它使用的是Python 3而不是Python 2。

你的意思是我应该做什么:在运行脚本之前导出PYSPARK_Python=/usr/bin/python2?我尝试使用SSH连接到集群并手动运行spark submit code.py,它似乎使用Python 2运行。但当我用-步骤spark submit。。。它运行Python3.Hi,我的意思是您是否已将PYSPARK_Python环境变量添加到集群节点的$SPARK_HOME/conf/SPARK-env.sh文件中。$SPARK_HOME是您安装SPARK的目录。我刚刚试过,但仍然不起作用。因此,基本上,当我从SSH调用spark submit时,它使用Python2运行,但当我使用AWS控制台或cli添加步骤“spark submit”时,它运行Python3。实际上,当我通过spark submit运行printsys.version_info时,通过AWS控制台添加步骤时,它表示它是Python 2.6.9,但存在语法错误:如果我尝试运行“print hello world”,则语法无效