2016-08-26 1 views
1

Я установил boto3 на свою локальную машину, а затем я запускал искру-отправку в локальном режиме, в то время как был пропущен путь к каталогу boto3. Оставив меня с следующая команда:Spark не может импортировать модуль pip после установки pip

spark-submit --conf spark.driver.extraClassPath=/Library/Python/2.7/site-packages app.py 

А потом, когда import boto3 в моем app.py, он бросает страшную module not found ошибку.

Правильно ли это, чтобы добавить зависимую от python зависимость от python к заданию на поставку spark-submit?

+0

У вас есть 'boto3' для всех остальных узлов кластера, если они есть? –

+0

@ cricket_007 нет других узлов в кластере. это локальный режим с одним узлом. на локальном настольном компьютере. – Kristian

+1

И вы можете запустить этот файл самостоятельно вне PySpark? –

ответ

0

Python, используемый Spark по сравнению с тем, который содержит зависимости python от pip_install, отличается. В поле .bash_profile укажите путь PYSPARK_PYTHON и PYSPARK_DRIVER_PYTHON к правильному пути Python, содержащему pip_installs.

export SPARK_HOME=/usr/local/Cellar/apache-spark/2.1.0/libexec 
    export PYTHONPATH=/usr/local/opt/python/bin/python2.7/:$PYTHONPATH$ 
    export PYSPARK_PYTHON=/usr/local/opt/python/bin/python2.7 
    export PYSPARK_DRIVER_PYTHON=/usr/local/opt/python/bin/python2.7 

Если Python на вашей оболочке содержит все программы pip_install, вы можете установить PYSPARK_PYTHON и PYSPARK_DRIVER_PYTHON на этом пути. Найдите его here.

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

  • Нет связанных вопросов^_^