我怎么能根据其他工作的成功来写一份oozie工作?

时间:2016-10-31 19:03:44

标签: shell hadoop apache-spark oozie oozie-coordinator

我的场景:我有一个通过shell脚本运行的spark提交,这个spark-job将把7个表从oracle拉到hive。我有一个其他脚本将根据从oracle导入的数据生成.dat文件。

我的问题是:如果第一份工作成功,只有第二份工作应该运行,那么在oozie中是否有任何机会。如果您对问题有任何疑问,请询问。

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以在Oozie中构建依赖关系。请在下面找到伪代码:

<workflow-app xmlns="uri:oozie:workflow:0.5" name="MYsimpleWF">
 <global>
  ...
</global>  
<action name=" ShellAction ">
    <shell>
        ...
        <exec>${EXEC}</exec>
        <argument>A</argument>
        <argument>B</argument>
        <file>${EXEC}#${EXEC}</file> 
    </shell>
<ok to="SecondJOB"/>
<error to="fail"/>
</action>
<action name="SecondJOB">
<shell xmlns="uri:oozie:shell-action:0.2">
  ...
</shell>
<ok to="success"/>
<error to="fail"/>
</action>
<end name="done"/>
</workflow-app>