Добавить пользовательский путь к библиотеке Python в Pyspark - PullRequest
0 голосов
/ 25 февраля 2019

В моем кластере hadoop они установили пакет anaconda по другому пути, отличному от пути по умолчанию в python.Я получаю сообщение об ошибке ниже, когда пытаюсь получить доступ к numpy в pyspark

ImportError: Нет модуля с именем numpy

Я вызываю pyspark с помощью oozie.

Я попытался указать путь к этой пользовательской библиотеке Python в следующих подходах

Использование тегов oozie

<property>
  <name>oozie.launcher.mapreduce.map.env</name>
  <value>PYSPARK_PYTHON=/var/opt/teradata/anaconda2/bin/python2.7</value>
</property>

Использование тега опции spark

<spark-opts>spark.yarn.appMasterEnv.PYSPARK_PYTHON=/var/opt/teradata/anaconda2/bin/python2.7 --conf spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON=/var/opt/teradata/anaconda2/bin/python2.7 --conf spark.pyspark.python=/var/opt/teradata/anaconda2/bin/python2.7 --conf spark.pyspark.driver.python=/var/opt/teradata/anaconda2/bin/python2.7</spark-opts>

Ничего не работает.

Когда я запускаю простой скрипт на Python, он работает нормально.Проблема переходит к pyspark

Даже я дал это в заголовке pyspark также как

#! /usr/bin/env /var/opt/teradata/anaconda2/bin/python2.7

Когда я печатаю sys.path в своем коде pyspark, он все равно дает мне путь по умолчанию

​[ '/usr/lib/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/local/lib64/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages']​
...