Это копия чьего-то другого вопроса на другом форуме, на который так и не ответили, поэтому я подумал, что снова задам его здесь, так как у меня такая же проблема. (См. Http://geekple.com/blogs/feeds/Xgzu7/posts/351703064084736 )
У меня правильно установлен Spark на моем компьютере, и я могу без ошибок запускать программы python с модулями pyspark при использовании ./bin/pyspark в качестве интерпретатора python.
Однако, когда я пытаюсь запустить обычную оболочку Python, когда я пытаюсь импортировать модули pyspark, я получаю эту ошибку:
from pyspark import SparkContext
и это говорит
"No module named pyspark".
Как я могу это исправить? Есть ли переменная среды, которую мне нужно установить, чтобы указать Python на заголовки / библиотеки / библиотеки pyspark? Если моя искровая установка - / spark /, какие пути pyspark мне нужно включить? Или программы pyspark можно запускать только из интерпретатора pyspark?
источник
Ответы:
Вот простой способ (если вас не беспокоит, как он работает !!!)
Перейдите в свою оболочку Python
импортировать необходимые модули
Готово!!!
источник
Если он выводит такую ошибку:
Добавьте $ SPARK_HOME / python / build в PYTHONPATH:
источник
Оказывается, корзина pyspark ЗАГРУЖАЕТ python и автоматически загружает правильные пути к библиотеке. Проверьте $ SPARK_HOME / bin / pyspark:
Я добавил эту строку в свой файл .bashrc, и теперь модули найдены правильно!
источник
export SPARK_HOME=~/dev/spark-1.1.0
, пойди разберись. Ваши имена в папках могут отличаться.не запускайте свой файл py как:
python filename.py
вместо этого используйте:spark-submit filename.py
источник
import pyspark
завершится ошибкой в командной строке или в исполняемом скрипте. Вы должны либо a. запустить pyspark через Spark-submit, как задумано, или b. добавьте $ SPARK_HOME / python в $ PYTHONPATH.Экспортируя путь SPARK и путь Py4j, он начал работать:
Итак, если вы не хотите вводить их каждый раз, когда хотите запускать оболочку Python, вы можете добавить ее в свой
.bashrc
файлисточник
Apache Spark
установке, есть идеи?libexec/python/build
каталог, но уНа Mac я использую Homebrew для установки Spark (формула «apache-spark»). Затем я установил PYTHONPATH таким образом, чтобы импорт Python работал:
Замените «1.2.0» актуальной версией apache-spark на вашем Mac.
источник
Для выполнения Spark в pyspark два компонента должны работать вместе:
pyspark
пакет pythonПри запуске вещей с помощью spark-submit или pyspark эти сценарии позаботятся об обоих, т.е. они настроят ваш PYTHONPATH, PATH и т.д., чтобы ваш сценарий мог найти pyspark, и они также запускают экземпляр Spark, настраивая в соответствии с вашими параметрами , например --master X
В качестве альтернативы можно обойти эти сценарии и запустить приложение Spark непосредственно в интерпретаторе Python, например
python myscript.py
. Это особенно интересно, когда искровые скрипты становятся более сложными и в конечном итоге получают свои собственные аргументы.getOrCreate()
из объекта построителя.Таким образом, ваш сценарий может иметь что-то вроде этого:
источник
Чтобы избавиться от него
ImportError: No module named py4j.java_gateway
, нужно добавить следующие строки:источник
В Windows 10 у меня работало следующее. Я добавил следующие переменные среды, используя Настройки > Изменить переменные среды для вашей учетной записи :
(замените "C: \ Programming \ ..." на папку, в которую вы установили Spark)
источник
Для пользователей Linux следующий правильный (и не запрограммированный жестко) способ включения библиотеки pyspark в PYTHONPATH. Обе части PATH необходимы:
Обратите внимание, что версия заархивированной библиотеки определяется динамически, поэтому мы не программируем ее жестко.
источник
Я запускаю искровой кластер на виртуальной машине CentOS, которая устанавливается из пакетов cloudera yum.
Пришлось установить следующие переменные для запуска pyspark.
источник
Это то, что я сделал для использования своего дистрибутива Anaconda со Spark. Это не зависит от версии Spark. Вы можете изменить первую строку на корзину для Python ваших пользователей. Кроме того, начиная с Spark 2.2.0 PySpark доступен как автономный пакет на PyPi, но я еще не тестировал его.
источник
Вы можете получить
pyspark path
в python, используяpip
(если вы установили pyspark с помощью PIP), как показано нижеисточник
У меня такая же проблема.
Также убедитесь, что вы используете правильную версию python и устанавливаете ее с правильной версией pip. в моем случае: у меня были как python 2.7, так и 3.x. Я установил pyspark с
pip2.7 установить pyspark
и это сработало.
источник
Я получил эту ошибку, потому что сценарий python, который я пытался отправить, назывался pyspark.py ( facepalm ). Исправление заключалось в том, чтобы настроить мой PYTHONPATH, как рекомендовано выше, затем переименовать скрипт в pyspark_test.py и очистить pyspark.pyc, который был создан на основе исходного имени моего скрипта и устранил эту ошибку.
источник
В случае DSE (DataStax Cassandra & Spark) в PYTHONPATH необходимо добавить следующее местоположение
Затем используйте dse pyspark, чтобы получить модули в пути.
источник
У меня была такая же проблема, и я бы добавил одну вещь к предложенным выше решениям. При использовании Homebrew в Mac OS X для установки Spark вам нужно будет исправить адрес пути py4j, чтобы включить libexec в путь (не забудьте изменить версию py4j на ту, которая у вас есть);
источник
py4j
только папку, но ничего не вышло. Используйте zip-файл ...В моем случае он устанавливался на другом python dist_package (python 3.5), тогда как я использовал python 3.6, поэтому помогло следующее:
источник
Вы также можете создать контейнер Docker с Alpine в качестве ОС и установить Python и Pyspark в виде пакетов. Это все будет помещено в контейнер.
источник