PYSPARK_PYTHON
устанавливает вызов, который используется для выполнения Python на подчиненных узлах.Существует отдельная переменная окружения с именем PYSPARK_DRIVER_PYTHON
, которая устанавливает вызов для узла драйвера (т. Е. Узла, на котором изначально запускается ваш скрипт).Поэтому вам также нужно установить PYSPARK_DRIVER_PYTHON=python3
.
Редактировать
Как указывает phd, у вас могут возникнуть проблемы с вашей средой, поскольку вы используете sudo
для вызова Pyspark для отправки,Одна вещь, которую можно попробовать, это использовать sudo -E
вместо sudo
.Опция -E
будет сохранять вашу среду (хотя она и не идеальна).
Если это не удастся, вы можете попробовать установить параметры spark.pyspark.driver.python
и spark.pyspark.python
напрямую.Например, вы можете передать желаемые значения в свой вызов на spark-submit
:
sudo /usr/local/spark-2.4.0-bin-hadoop2.7/bin/spark-submit --conf spark.pyspark.driver.python=python3 --conf spark.pyspark.python=python3 mySpark.py
Существует множество различных способов установить эти параметры (см. этот документ для получения полной информации),Если один не работает / неудобен для вас, попробуйте другой.