Вложение действия электронной почты Oozie

Я пытаюсь получить местоположение hdfs и предоставить его в качестве вложения электронной почты для действия электронной почты oozie. Мое местоположение hdfs можно найти только с помощью действия оболочки. Теперь, как я могу передать вывод моего действия оболочки, который будет путем hdfs к моему действию электронной почты oozie. Можно ли этого добиться с помощью 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>

person Coder123    schedule 27.01.2016    source источник
comment
или я могу отправить файл hdfs с помощью почтовой команды bash, не копируя его на локальный сервер?   -  person Coder123    schedule 27.01.2016
comment
Недавно я ответил на вопрос должен сделать точно так же. stackoverflow.com/questions/34943757/submit -pig-job-from-oozie/ Проверьте мое обновление в ответе, где я прикрепил рабочий пример, как захватить вывод действия оболочки и передать его в качестве параметра другого узла действия.   -  person kecso    schedule 29.01.2016


Ответы (1)


См. мой комментарий, но для других, проверяющих эту проблему, ответ: Захват вывода действия оболочки.

<capture-output/>

и передайте его как параметр для действия электронной почты

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

Подробности смотрите по ссылке в моем комментарии.

person kecso    schedule 29.01.2016