2017-04-17 36 views
1

我正在使用oozie執行HDFS數據傳輸操作,要求在aws S3存儲桶中存在可用數據時觸發oozie工作流作業。我正在考慮在S3存儲桶中保存成功文件以及數據文件,但我不確定如何使oozie協調器定期從S3讀取以檢查成功文件是否可用。 如果有人可以提供相同的樣本coordinator.xml,那將會很棒。如何在aws中存在成功文件時觸發oozie作業

+0

可以調用Oozie的REST API啓動作業,從AWS LAMBDA觸發器,它會被調用在s3上傳事件 – Ashan

+0

如何爲當前在基於時間的協調器上運行的作業創建oozie REST api? – greperror

回答

0

你可以試試下面的: -

<coordinator-app name="FILE_CHECK" frequency="1440" start="2017-04-17T00:00Z" end="2018-04-17T00:00Z" timezone="UTC" xmlns="uri:oozie:coordinator:0.1"> 

<datasets> 
     <dataset name="datafile" frequency="60" initial-instance="2017-04-16T00:00Z" timezone="UTC"> 
     <uri-template>s3n://mybucket/a/b/${YEAR}/${MONTH}/${DAY}</uri-template> 
     <done-flag><flag to check></done-flag> 
     </dataset> 
    </datasets> 
    <input-events> 
     <data-in name="coorddatafile" dataset="datafile"> 
      <instance>${coord:current(0)}</start-instance> 
     </data-in> 
    </input-events> 
    <action> 
     <workflow> 
     <app-path><workflow_path></app-path> 
      <configuration> 
       <property> 
        <name>fileDirectory</name> 
        <value>${coord:dataIn('coorddatafile')}</value> 
       </property> 
      </configuration> 
     </workflow> 
    </action>  
</coordinator-app> 

您也可以參考: - https://community.cloudera.com/t5/Batch-Processing-and-Workflow/Getting-Oozie-Coordinator-datasets-working-with-S3-after-a-lost/td-p/27233

+0

你能解釋done-flag的意義嗎? – greperror

+0

它會檢查標誌的存在,然後觸發該作業。 –

+0

標誌的內容是什麼,在一些例子中它是一個文件(.bat文件)。 – greperror

相關問題