Apache Spark: как использовать pyspark с Python 3

93

Я собрал Spark 1.4 из мастера разработки GH, и сборка прошла нормально. Но когда я делаю это, bin/pysparkя получаю версию Python 2.7.9. Как я могу это изменить?

чакраварти
источник
7
Для тех, кто хочет узнать, как это сделать: PYSPARK_DRIVER_PYTHON=ipython3 PYSPARK_DRIVER_PYTHON_OPTS="notebook" ./bin/pysparkв этом случае он запускает ноутбук IPython 3.
tchakravarty

Ответы:

144

Просто установите переменную окружения:

export PYSPARK_PYTHON=python3

если вы хотите, чтобы это было постоянное изменение, добавьте эту строку в скрипт pyspark.

Rtik88
источник
Переменные среды можно редактировать в / etc / profile. Не забудьте запустить "source / etc / profile" после сохранения профиля, чтобы изменения вступили в силу немедленно.
Phyticist 05
1
Очевидно, используйте export PYSPARK_PYTHON=python3.5Python 3.5
Phyticist
4
Лучше добавить это, $SPARK_HOME/conf/spark-env.shчтобы spark-submitиспользовать тот же интерпретатор.
flow2k
@flow2k, это лучшая идея. Tnx
Mohammad RaoofNia
32
PYSPARK_PYTHON=python3 
./bin/pyspark

Если вы хотите запустить IPython Notebook, напишите:

PYSPARK_PYTHON=python3 
PYSPARK_DRIVER_PYTHON=ipython 
PYSPARK_DRIVER_PYTHON_OPTS="notebook" 
./bin/pyspark

Если python3недоступен, вам нужно вместо этого указать путь к нему.

Имейте в виду, что текущая документация (начиная с версии 1.4.1) содержит устаревшие инструкции. К счастью, он был исправлен .

Петр Мигдал
источник
1
Я думаю, что ваша команда для IPython Notebook неверна. Должно быть так: PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = ipython3 PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
SpiderRico
@ChrisNielsen В терминале.
Петр Мигдал
@ChrisNielsen В Linux или OS X это терминал / консоль. Понятия не имею, как это работает под Windows (в Windows я использовал Spark только в контейнере Docker).
Петр Мигдал
@SpiderRico Похоже, они не работают на моем Mac. Чтобы Jupyter Notebook работал с Spark, используйте следующее. PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = jupyter PYSPARK_DRIVER_PYTHON_OPTS = "блокнот" ./bin/pyspark
Хэнк Чан
9

1, отредактируйте профиль:vim ~/.profile

2, добавьте код в файл: export PYSPARK_PYTHON=python3

3, выполните команду: source ~/.profile

4, ./bin/pyspark

янх
источник
4

Загляните в файл. Строка shebang, вероятно, указывает на двоичный файл env, который ищет путь к первому совместимому исполняемому файлу.

Вы можете изменить python на python3. Измените env, чтобы напрямую использовать жестко запрограммированный двоичный файл python3. Или выполните двоичный файл напрямую с помощью python3 и опустите строку shebang.

rfkortekaas
источник
1
Да, просмотр файла помог. Требуется для установки PYSPARK_PYTHONпеременной окружения.
tchakravarty
4

Для Jupyter Notebook отредактируйте spark-env.shфайл, как показано ниже, из командной строки.

$ vi $SPARK_HOME/conf/spark-env.sh

Перейдите в конец файла и скопируйте и вставьте эти строки

export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

Затем просто запустите следующую команду, чтобы запустить pyspark в записной книжке

$ pyspark
oya163
источник