Подтвердить что ты не робот

Как указать версию python, которая использует искру-submit?

У меня есть две версии python. Когда я запускаю искровое приложение от spark-submit, он использует стандартную версию python. Но я хочу использовать другую версию. Я попытался поместить путь python в верхнюю часть моего файла .py, но он не работает. Можно ли указать версию, используемую для представления-искры?

4b9b3361

Ответ 1

Я не уверен в самой последней версии Spark, но в старых версиях вы можете установить переменную среды PYSPARK_PYTHON в желаемую версию Python внутри вашего файла conf/spark-env.sh.

За дополнительной информацией обратитесь к документации по конфигурации.

Ответ 2

В моей среде я просто использовал

export PYSPARK_PYTHON=python2.7

Это сработало для меня

Ответ 3

Вы можете указать версию Python, указав путь к вашей установке в строке shebang в script:

myfile.py:

#!/full/path/to/specific/python2.7

или вызовите его в командной строке без строки shebang в script:

/full/path/to/specific/python2.7 myfile.py

Тем не менее, я бы рекомендовал посмотреть превосходные виртуальные среды Python, которые позволят вам создавать отдельные "среды" для каждой версии Python. Виртуальные среды более или менее работают, обрабатывая всю спецификацию пути после ее активации, заставляя вас просто набирать python myfile.py, не беспокоясь о конфликтующих зависимостях или зная полный путь к определенной версии python.

Нажмите здесь, чтобы получить отличное руководство по началу работы с виртуальными средами или [здесь] для официальной документации Python3.

Если у вас нет доступа к узлам, и вы используете это с помощью PySpark, вы можете указать версию Python в spark-env.sh:

Spark_Install_Dir/CONF/spark-env.sh:

PYSPARK_PYTHON = /full/path/to/python_executable/eg/python2.7