Я пытаюсь построить Spark DataFrame из простого Pandas DataFrame.Это шаги, которые я выполняю.
import pandas as pd
pandas_df = pd.DataFrame({"Letters":["X", "Y", "Z"]})
spark_df = sqlContext.createDataFrame(pandas_df)
spark_df.printSchema()
До этого момента все в порядке.Вывод:
root
| - Letters: string (nullable = true)
Проблема возникает, когда я пытаюсь напечатать DataFrame:
spark_df.show()
Это результат:
Произошла ошибка при вызове o158.collectToPython.: org.apache.spark.SparkException: задание прервано из-за сбоя этапа: задание 0 на этапе 5.0 не выполнено 1 раз, последний сбой: потерянное задание 0.0 на этапе 5.0 (TID 5, localhost, драйвер исполнителя): org.apache.spark.SparkException:
Ошибка от работника Python:
Ошибка выполнения команды Jupyter 'pyspark.daemon': [Errno 2] Нет такого файла или каталога PYTHONPATH был:
/home/roldanx/soft/spark-2.4.0-бен-hadoop2.7 / питон / Библиотека / pyspark.zip: /home/roldanx/soft/spark-2.4.0-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip: /главный / roldanx / мягкий / искровой 2.4.0-бен-hadoop2.7 / банки / искровой core_2.11-2.4.0.jar: /home/roldanx/soft/spark-2.4.0-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip:/home/roldanx/soft/spark-2.4.0-bin-hadoop2.7/python/: org.apache.spark.SparkException: в pyspark нет номера порта.daemon's stdout
Это мои спецификации Spark:
SparkSession - куст
SparkContext
Spark UI
Версия: v2.4.0
Мастер: локальный [*]
AppName: PySparkShell
Это мой venv:
export PYSPARK_PYTHON = jupyter
export PYSPARK_DRIVER_PYTHON_OPTS = 'lab'
Факт:
Как упоминается в ошибке, это связано с запуском pyspark из Jupyter.Работа с PYSPARK_PYTHON = python2.7 и PYSPARK_PYTHON = python3.6 работает нормально