Проблемы с запуском кода pyspark через Spark.submit, но не с помощью Jupyter-notebook

#apache-spark #pyspark #apache-spark-sql #jupyter-notebook

#apache-spark #pyspark #apache-spark-sql #jupyter-notebook

Вопрос:

Я столкнулся с проблемой с моим кодом pyspark. цель кода — декодировать шестнадцатеричные значения и записать их в поле. код отлично работает в среде jupyter. но когда он запускается как spark.submit, он завершается нормально, но требуемое поле равно нулю (другими словами, без декодирования).

Кто-нибудь знает о подобной проблеме? если код отлично работает в Jupyter notebook, но вы выполняете spark.submit , тогда он не будет работать.

Приветствуются любые входные данные.

Ниже приведен код, который правильно работает в Jupyternotebook. код перебирает строки и применяет функцию.

 df = (df
  .rdd
  .map(lambda row: sql.Row(
          **row.asDict(),  
          dec_spec=split_spec(row))  
  )
  .toDF()
 )
 

Теперь, когда я запускаю через spark.submit, он выдает синтаксическую ошибку. пожалуйста, смотрите ниже Пожалуйста, посмотрите знак курсора в запятой после asDict

 >      df=df.rdd.map(lambda row:sql.Row(**row.asDict(),dec_spec=split_spec(row))).toDF()
                                                      ^
>     SyntaxError: invalid syntax
>     20/12/16 09:59:56 INFO ShutdownHookManager: Shutdown hook called
 

Комментарии:

1. версия python для jupyter и pyspark?

2. Это версия pyspark

3. каково значение переменной PYSPARK_PYTHON

4. как это выяснить? Как вы думаете, это как-то связано с этим. Насколько я знаю, между ними нет разницы в версиях, поскольку как jupyter notebook, так и spark.submit выполняются в одном кластере

Ответ №1:

Проблема была связана с другой версией python, на которой были запущены jupyter и spark.submit.

Конфигурации затрудняли первоначальное понимание.