2015-08-05 4 views
0

Мне нужно запустить скрипт Apace Spark на Amazon EC2. Скрипт использует такие библиотеки, как numpy, pandas и т. Д. Проблема в том, что у меня есть numpy, установленный в /usr/local/lib64/python2.7/site-packages, и эта папка по умолчанию не находится в PYTHONPATH. Поэтому, когда я export PYTHONPATH=$PYTHONPATH:/usr/local/lib64/python2.7/site-packages, обычно питона обнаруживает его (import numpy вызывает никаких проблем), но когда я пытаюсь импортировать его в pyspark оболочки - это показывает:Apache Spark на Amazon EC2 PYTHONPATH проблема

>>> import numpy 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named numpy 
>>> exit() 

есть ли решение, как изменить PYTHONPATH pyspark в?

+0

+1 на ответ Джо, я воздерживаюсь от -1 на ваш вопрос, но было бы неплохо узнать, работает ли это, чтобы улучшить SO. Кроме того, я не могу редактировать только одного персонажа, но это «Apache» для Google, а не «Apace» ха-ха :) Этот вопрос очень высок в результатах поиска Google, поможет, если вы либо удалите его, либо заполните его, пожалуйста? – JimLohse

ответ

1

Вы можете попробовать установить

export PYTHONPATH=$PYTHONPATH:/usr/local/lib64/python2.7/site-packages 

в $ SPARK_CONF_DIR/spark-env.sh?

+0

То же самое на этом ответе было бы неплохо, если бы OP ответил бы, конечно, это была проблема и правильный ответ! – JimLohse

1

Joe Young's answer Хорошо, если вы хотите установить путь «навсегда». Если вы хотите установить его на на работу основе, Continuum (Anaconda люди) имеет страницу о настройке вашей PYTHONPATH задания по работе в командной строке:

https://www.continuum.io/blog/developer-blog/using-anaconda-pyspark-distributed-language-processing-hadoop-cluster

Например (написанной для установки замены Cloudera ваше местоположение Спарк):

Настройка искрового подать команду с кластера Hadoop

Чтобы использовать Python из Anaconda вместе с PySpark, вы можете установить переменную окружения PYSPARK_PYTHON на каждого задания базиса а долго с командой spark-submit. Если вы используете пакет Anaconda для CDH, вы можете запустить PySpark скрипт (например, spark-job.py) с помощью следующей команды:

$ PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python spark-submit spark-job.py

+0

Глядя на это более близко, я думаю, что у Клаудера есть опечатка? Или это интересный способ создания команды. Обычно я должен вводить 'PYSPARK_PYTHON =/opt/cloudera/parcels/Anaconda/bin/python' и' spark-submit spark-job.py' на две строки или разделенные символом ';'. Но это работает! Я использую UNIX/Linux 20 лет, каждый день узнаю что-то новое! Я попробовал 'PYSPARK_PYTHON =/opt/cloudera/parcels/Anaconda/bin/python spark-submit spark-job.py ls -l', и он работает. – JimLohse

Смежные вопросы