2016-01-27 104 views
1

我想獲得一個hdfs位置並將其作爲電子郵件附件提供給oozie電子郵件操作。我的hdfs位置只能使用shell操作找到。現在我該如何傳遞我的shell動作的輸出,這將是我的oozie電子郵件動作的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> 
+0

或者我可以發送一個hdfs文件使用bash的郵件命令,而不復制到本地? – Neethu

+0

我最近回答了一個問題,必須完全一樣。 http://stackoverflow.com/questions/34943757/submit-pig-job-from-oozie/34971902#34971902檢查我的更新答案,我附上一個工作示例,如何捕獲一個shell動作輸出並將其作爲另一個動作節點的參數。 – kecso

回答

2

見我的意見,但對於其他人檢查這個問題,答案是: 捕捉殼行動

<capture-output/> 

的輸出,並把它作爲對電子郵件操作

設置了一個param
<attachment>${wf:actionData('shell_action')['path']}</attachment> 

有關詳情,請查看我評論中的鏈接。

相關問題