我正在尝试在AWS EMR上部署Spark作业(使用pyspark库:ML)。 我想用一个实例创建一个简单的集群,以了解EMR的工作原理。
我使用以下配置的控制台创建集群:
spark-submit --deploy-mode cluster s3://bucket/key/file.py
我的步骤失败了,除了一堆错误日志外,我还很难理解:
File "PowerProdPredictionEmr.py", line 261
df = df.select("Perimetre", *target_exprs, *window_exprs, "rn")
SyntaxError: invalid syntax
我不理解,因为它在我的计算机上本地工作。
这是代码:
...
window_exprs = [df.power_prod[i] for i in range(w*sample_week)]
df = df.select("Perimetre", *target_exprs, *window_exprs, "rn")
...
有什么主意吗?如果需要,我可以添加其他日志文件。
答案 0 :(得分:0)
正如@ user10938362所指出的那样,即使EMR支持python 3.6之前的版本,版本2.x也是实例上安装的默认版本。
要将python 3设置为默认版本,可以在“编辑软件/输入配置”中添加以下代码。
[
{
"Classification": "spark-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"PYSPARK_PYTHON": "/usr/bin/python3"
}
}
]
}
]
所有python版本的问题都将得到解决。