如何在aws S3中存在成功文件时触发oozie作业

时间:2017-04-17 06:23:30

标签: xml hadoop amazon-s3 oozie oozie-coordinator

我正在与oozie合作执行HDFS数据传输操作,要求是在aws S3存储桶中有数据可用时触发oozie工作流作业。我想在我的S3存储桶中保存一个成功文件和数据文件,但我不确定,如何让oozie协调器定期从S3读取以检查成功文件是否可用。 如果有人可以提供相同的示例coordinator.xml,那将会很棒。

1 个答案:

答案 0 :(得分: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