Pet*_*fel 3 python virtualenv apache-spark
我正在试图弄清楚如何使用外部库.我有一个在Spark上成功运行的程序,现在我正在尝试导入外部库.我正在使用virtualenv,每次提交时,spark都会抱怨它无法找到该文件.
这是我尝试过的许多提交命令之一:
/path/to/spark-1.1.0-bin-hadoop2.4/bin/spark-submit ua_analysis.py --py-files `pwd`/venv/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
我尝试使用--py-files标志单独添加文件,我也尝试了以下子目录.
venv/lib
venv/python2.7
venv/lib/python2.7/site-packages/<package_name>
Run Code Online (Sandbox Code Playgroud)
所有这些都会产生以下错误
ImportError: ('No module named <module>', <function subimport at 0x7f287255dc80>, (<module>,))
org.apache.spark.api.python.PythonRDD$$anon$1.read(PythonRDD.scala:124)
org.apache.spark.api.python.PythonRDD$$anon$1.<init>(PythonRDD.scala:154)
org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:87)
....
Run Code Online (Sandbox Code Playgroud)
我也尝试将这些文件复制到pyspark目录中,但没有成功.
创建虚拟环境时,将--system-site-packages选项传递给virtualenv:
virtualenv --system-site-packages venv
Run Code Online (Sandbox Code Playgroud)
如果你忘了通过选项:
rm venv/lib/python2.7/no-global-site-packages.txt
Run Code Online (Sandbox Code Playgroud)
通过两种方式,您可以import system-site-packages在虚拟环境中.
| 归档时间: |
|
| 查看次数: |
2735 次 |
| 最近记录: |