我是hadoop生态系统的初学者。我正在尝试分叉三个不同的作业,我想从同一个generic workflow.xml文件中调用它们,但将不同的参数传递给每个子工作流。
子工作流:
<?xml version="1.0" encoding="UTF-8"?>
<workflow-app xmlns="uri:oozie:workflow:0.4" name="special-fork">
<global>
<job-tracker>${jT}</job-tracker>
<name-node>${nN}</name-node>
</global>
<fork name="special-fork">
<path start="aa"/>
<path start="bb"/>
<path start="cc"/>
</fork>
<action name="aa">
<sub-workflow>
<app-path>${nN}/xyz/workflow.xml</app-path>
<propagate-configuration/>
</sub-workflow>
<ok to="special-join"/>
<error to="kill"/>
</action>
<action name="bb">
<sub-workflow>
<app-path>${nN}/xyz/workflow.xml</app-path>
<propagate-configuration/>
</sub-workflow>
<ok to="special-join"/>
<error to="kill"/>
</action>
<action name="cc">
<sub-workflow>
<app-path>${nN}/xyz/workflow.xml</app-path>
<propagate-configuration/>
</sub-workflow>
<ok to="special-join"/>
<error to="kill"/>
</action>
<join name="special-join" to="end"/>
<action name="email-alert-fail">
<email xmlns="uri:oozie:email-action:0.1">
<to>${emailing_list}</to>
<subject>Oozie workflow Failed</subject>
<body>
</body>
</email>
<ok to="kill"/>
<error to="kill"/>
</action>
<kill name="kill">
<message>Map-Reduce Failed</message>
</kill>
<end name="end"/>
</workflow-app>
我想传递参数列表,比如source、input\u path、output\u path、credentials,这与所有三个进程aa、bb、cc不同。如何将其传播到三个子工作流中的每一个子工作流?
谢谢。
1条答案
按热度按时间vxbzzdmp1#
你可以用
configuration
标记子工作流操作并传递所需参数。这就是它的样子:(添加所有必需的属性)