Oozie电子邮件动作附件

时间:2016-01-27 20:42:44

标签: shell hadoop hdfs oozie oozie-coordinator

我正在尝试获取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>

1 个答案:

答案 0 :(得分:2)

请参阅我的评论,但对于其他人检查此问题,答案是: 捕获shell动作的输出

<capture-output/>

并将其作为电子邮件操作的参数传递

<attachment>${wf:actionData('shell_action')['path']}</attachment>

有关详细信息,请查看我的评论中的链接。