我在使用hue通过oozie运行pyspark脚本时遇到问题 . 我可以通过笔记本运行脚本中包含的相同代码,或者使用spark-submit运行相同的代码而不会出错,这让我怀疑我的oozie工作流中的某些内容配置错误 . 为我的工作流xml生成的spark动作部分是:
<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>
我在日志中找到的唯一消息是:
Launcher 错误,原因:主类 [org.apache.oozie.action.hadoop.SparkMain], exit code [1]
这是我到目前为止没有解决问题的尝试:我已尝试在纱线客户端和群集模式下运行它 . 我也尝试使用路径到一个单独的目录,并尝试使用hue生成的oozie工作流目录的lib目录,其中我有我的脚本 . 我认为它可以找到脚本,因为如果我指定另一个目录,我会收到一条消息,说明找不到它 . 非常感谢任何帮助 .
1 回答
这对我有用的方式是:
首先,您创建一个将运行您的python脚本的sh文件 .
该文件应该有sumbit命令:
那么你需要的所有旗帜:
最后:
然后你创建一个工作流,然后选择shell选项并将你的sh文件添加为"shell command" and in "files"
从这里开始,确保一切正常连接是一项工作 . 例如,我必须在我的sh文件中添加“export”,以便正确添加我的“spark / conf” .