Кластер завершается, но работает локально - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь развернуть искровое задание (используя библиотеки pyspark: ML) в EMS aws. Я хочу создать простой кластер с одним экземпляром, чтобы понять, как работает 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 голосов
/ 19 марта 2019

Как указывал @ user10938362, несмотря на то, что EMR поддерживает python до версии 3.6, версия 2.x является установленной по умолчанию на экземплярах.

Чтобы установить python 3 в качестве версии по умолчанию, вы можете добавить следующий код в «Редактирование программного обеспечения / Ввод конфигурации».

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

Все проблемы с версиями Python будут решены.

...