2017-04-17 103 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

相关问题