Python 提交生成的oozie脚本时发生启动器错误

Python 提交生成的oozie脚本时发生启动器错误,python,pyspark,oozie,hue,Python,Pyspark,Oozie,Hue,我在使用色调通过oozie运行pyspark脚本时遇到问题。我可以通过笔记本或spark submit运行脚本中包含的相同代码,不会出错,这让我怀疑oozie工作流中的某些内容配置错误。为my workflow xml生成的spark action部分是: <action name="spark-51d9"> <spark xmlns="uri:oozie:spark-action:0.2"> <job-tracker>${jo

我在使用色调通过oozie运行pyspark脚本时遇到问题。我可以通过笔记本或spark submit运行脚本中包含的相同代码,不会出错,这让我怀疑oozie工作流中的某些内容配置错误。为my workflow xml生成的spark action部分是:

<action name="spark-51d9">
        <spark xmlns="uri:oozie:spark-action:0.2">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <master>yarn</master>
        <mode>cluster</mode>
        <name>MySpark</name>
        <jar>myapp.py</jar>
        <file>/path/to/local/spark/hue-oozie-1511868018.89/lib/MyScript.py#MyScript.py</file>
    </spark>
    <ok to="hive2-07c2"/>
    <error to="Kill"/>
</action>

${jobTracker}
${nameNode}
纱线
簇
迈斯帕克
myapp.py
/path/to/local/spark/hue-oozie-1511868018.89/lib/MyScript.py#MyScript.py
我在日志中找到的唯一消息是:

启动器错误,原因:主类
[org.apache.oozie.action.hadoop.SparkMain],退出代码[1]

这就是我迄今为止一直尝试但没有解决问题的方法:
我试过在客户机和集群模式下运行它。我还尝试使用到一个单独目录的路径,以及到hue生成的oozie workflow目录的lib目录的路径,我的脚本就在这个目录中。我认为它可以找到脚本,因为如果我指定另一个目录,我会收到一条消息,表示找不到它。非常感谢您的帮助。

这对我来说是:

首先,创建一个运行python脚本的sh文件

该文件应具有sumbit命令:

....spark-submit
然后,您需要的所有标志:

--master yarn-cluster......--conf executer-cores 3 .......conf spark.executor.extraClassPath=jar1.jar:jar2.jar --driver-class-path jar1.jar:jar2.jar:jar3.jar
最后:

..... my_pyspark_script.py
然后创建一个工作流,选择shell选项并将sh文件添加为“shell命令”和“文件”中的“shell命令”

从这里开始,需要做一点工作来确保所有东西都正确连接。
例如,我必须在sh文件中添加“export”,以便正确添加“spark/conf”。

事实上,shell可以完成这项工作。但是,我需要使用spark操作来实现可维护性、可再现性和调试的简易性,因此在我的情况下,这不是一个选项。好的,但正如你所知,我在实时生产中使用了数百个工作流和协调器,在可维护性、可再现性或调试方面没有问题。谢谢,知道这件事真是太好了。但是,在我的具体情况下,我需要通过spark action来完成。