将自定义python库路径添加到Pyspark

问题描述 投票:1回答:1

在我的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 ...

python numpy pyspark oozie
1个回答
0
投票

我遇到同样的问题。就我而言,似乎ml类(例如Vector)在幕后调用numpy,但没有在标准安装位置中寻找它。即使在群集的所有节点上都安装了numpy的Python2和Python3版本,PySpark仍在抱怨找不到它。

© www.soinside.com 2019 - 2024. All rights reserved.