群集终止但在本地工作

时间:2019-03-15 14:53:48

标签: python amazon-web-services pyspark amazon-emr

我正在尝试在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")
...

有什么主意吗?如果需要,我可以添加其他日志文件。

1 个答案:

答案 0 :(得分:0)

正如@ user10938362所指出的那样,即使EMR支持python 3.6之前的版本,版本2.x也是实例上安装的默认版本。

要将python 3设置为默认版本,可以在“编辑软件/输入配置”中添加以下代码。

[
  {
     "Classification": "spark-env",
     "Configurations": [
       {
         "Classification": "export",
         "Properties": {
            "PYSPARK_PYTHON": "/usr/bin/python3"
          }
       }
    ]
  }
]

所有python版本的问题都将得到解决。