我正在尝试获取hdfs位置并将其作为电子邮件附件提供给oozie电子邮件操作。我的hdfs位置只能使用shell动作找到。现在我如何传递shell操作的输出,这将是我的oozie电子邮件操作的hdfs路径。这可以用oozie来实现吗?
<workflow-app name="[WF-DEF-NAME]" xmlns="uri:oozie:workflow:0.1">
...
<action name="[NODE-NAME]">
<email xmlns="uri:oozie:email-action:0.2">
<to>[COMMA-SEPARATED-TO-ADDRESSES]</to>
<subject>[SUBJECT]</subject>
<body>[BODY]</body>
<content_type>[CONTENT-TYPE]</content_type>
**<attachment>[COMMA-SEPARATED-HDFS-FILE-PATHS]</attachment>**
</email>
<ok to="[NODE-NAME]"/>
<error to="[NODE-NAME]"/>
</action>
...
</workflow-app>
答案 0 :(得分:2)
请参阅我的评论,但对于其他人检查此问题,答案是: 捕获shell动作的输出
<capture-output/>
并将其作为电子邮件操作的参数传递
<attachment>${wf:actionData('shell_action')['path']}</attachment>
有关详细信息,请查看我的评论中的链接。