【问题标题】:Oozie email action attachmentOozie 电子邮件操作附件
【发布时间】:2016-01-27 20:42:44
【问题描述】:

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

【问题讨论】:

  • 或者我可以使用 bash 的邮件命令发送一个 hdfs 文件,而不将其复制到本地吗?
  • 我最近回答了一个问题,必须完全一样。 stackoverflow.com/questions/34943757/submit-pig-job-from-oozie/… 检查我在答案中的更新,我附上了一个工作示例,如何捕获 shell 操作输出并将其作为另一个操作节点的参数传递。

标签: shell hadoop hdfs oozie oozie-coordinator


【解决方案1】:

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

<capture-output/>

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多