我正在尝试学习如何使用外部库。我有一个在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
我尝试使用--py-files
标志逐个添加文件,还尝试了以下子目录。
venv/lib
venv/python2.7
venv/lib/python2.7/site-packages/<package_name>
所有这些都会产生以下错误。
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)
....
我也尝试将这些文件复制到
pyspark
目录,但没有成功。