В моем кластере 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']