在我的hadoop集群中,他们在python默认路径以外的其他路径中安装了anaconda软件包。当我尝试在pyspark中访问numpy时出现以下错误
ImportError:没有名为numpy的模块
我正在使用oozie调用pyspark。
我尝试通过以下方法提供此自定义python库路径
使用oozie标签
<property>
<name>oozie.launcher.mapreduce.map.env</name>
<value>PYSPARK_PYTHON=/var/opt/teradata/anaconda2/bin/python2.7</value>
</property>
使用火花选项标签
<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
当我在pyspark代码中打印sys.path时,它仍然在默认路径下提供了我的信息
[ '/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']
在我的hadoop集群中,他们在python默认路径以外的其他路径中安装了anaconda软件包。当我尝试在pyspark ImportError中访问numpy时,出现以下错误:No module named ...
我遇到同样的问题。就我而言,似乎ml类(例如Vector)在幕后调用numpy,但没有在标准安装位置中寻找它。即使在群集的所有节点上都安装了numpy的Python2和Python3版本,PySpark仍在抱怨找不到它。