Mapreduce pyspark中映射器内的导入错误
我正在处理一个EMR纱线簇,但networkx出现问题。 我试图在映射器中运行networkx包中的一个算法,收到一个错误,说没有模块名“decorator”,并立即失败,错误如下: 文件“/networkx-1.11-py2.7.egg/networkx/utils/init.py”,第2行,在 文件“/networkx-1.11-py2.7.egg/networkx/utils/decorators.py”,第7行,在 导入错误:没有名为decorator的模块Mapreduce pyspark中映射器内的导入错误,mapreduce,pyspark,yarn,networkx,amazon-emr,Mapreduce,Pyspark,Yarn,Networkx,Amazon Emr,我正在处理一个EMR纱线簇,但networkx出现问题。 我试图在映射器中运行networkx包中的一个算法,收到一个错误,说没有模块名“decorator”,并立即失败,错误如下: 文件“/networkx-1.11-py2.7.egg/networkx/utils/init.py”,第2行,在 文件“/networkx-1.11-py2.7.egg/networkx/utils/decorators.py”,第7行,在 导入错误:没有名为decorator的模块 at org.apa
at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRDD.scala:193)
at org.apache.spark.api.python.PythonRunner$$anon$1.<init>(PythonRDD.scala:234)
at org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:152)
at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:63)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:319)
位于org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRDD.scala:193)
位于org.apache.spark.api.python.PythonRunner$$anon$1。(PythonRDD.scala:234)
位于org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:152)
位于org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:63)
在org.apache.spark.rdd.rdd.computeOrReadCheckpoint(rdd.scala:319)
当我在本地模式下运行完全相同的脚本时(不使用集群),它工作得很好
我为运行代码所采取的步骤如下:
非常感谢。看起来您需要为包添加另一个egg文件 例如,您可以下载tarball(从上面的链接)并构建自己的egg:
$ python setup.py bdist_egg
然后,您可以在--py files
参数中添加鸡蛋的路径,例如
$ spark-submit --py-files /path/to/foo.egg,/path/to/bar.egg
看起来您需要为包添加另一个egg文件 例如,您可以下载tarball(从上面的链接)并构建自己的egg:
$ python setup.py bdist_egg
然后,您可以在--py files
参数中添加鸡蛋的路径,例如
$ spark-submit --py-files /path/to/foo.egg,/path/to/bar.egg
谢谢在我生成“decorator.egg”并将其添加到命令params之后,它工作得非常好。谢谢!在我生成“decorator.egg”并将其添加到命令参数后,它工作得非常好。