【发布时间】:2020-01-23 16:14:32
【问题描述】:
阅读this 和this 让我觉得可以让spark-submit 执行python 文件,但是我无法让它工作。
我的设置有点复杂。我需要将几个不同的 jar 与我的 python 文件一起提交,以便一切正常运行。我的 pyspark 有效的命令如下:
IPYTHON=1 ./pyspark --jars jar1.jar,/home/local/ANT/bogoyche/dev/rhine_workspace/env/Scala210-1.0/runtime/Scala2.10/scala-library.jar,jar2.jar --driver-class-path jar1.jar:jar2.jar
from sys import path
path.append('my-module')
from my-module import myfn
myfn(myargs)
我已经将我的python文件打包在一个egg中,并且egg包含主文件,这使得egg可以通过调用python myegg.egg来执行
我现在正在尝试形成我的spark-submit 命令,但我似乎无法正确完成。我在这里:
./spark-submit --jars jar1.jar,jar2.jar --py-files path/to/my/egg.egg arg1 arg
Error: Cannot load main class from JAR file:/path/to/pyspark/directory/arg1
Run with --help for usage help or --verbose for debug output
它不是执行我的 .egg 文件,而是采用 egg 的第一个参数并将其视为 jar 文件并尝试从中加载类?我做错了什么?
【问题讨论】:
标签: apache-spark pyspark