【发布时间】:2016-01-04 19:17:28
【问题描述】:
在 Oozie 网站中,有人告诉我们“通常,工作流作业是根据固定的时间间隔和/或数据可用性运行的。在某些情况下,它们可以由外部事件触发。” 有人知道如何用外部事件触发动作吗?
【问题讨论】:
在 Oozie 网站中,有人告诉我们“通常,工作流作业是根据固定的时间间隔和/或数据可用性运行的。在某些情况下,它们可以由外部事件触发。” 有人知道如何用外部事件触发动作吗?
【问题讨论】:
外部事件可以是某个目录中的文件的可用性。 所以 oozie 协调器有这个功能。当您需要在完成第一个依赖工作流时触发第二个工作流时,这很有用。 第二个协调器继续轮询success_trigger.txt 的可用性 触发目录路径
triggerdirpath 是第一个工作流创建 success_trigger.txt 的 hdfs 路径
<coordinator-app name="Xxx" frequency="${coord:days(1)}" start="${startTime2}" end="${endTime}" timezone="GMT-0700" xmlns="uri:oozie:coordinator:0.2">
<dataset name="check_for_SUCCESS" frequency="${coord:days(1)}" initial-instance="${startTime2}" timezone="GMT-0700">
<uri-template>${triggerdirpath}</uri-template>
<done-flag>success_trigger.txt</done-flag>
</dataset>
</datasets>
<input-events>
<data-in name="check_for_SUCCESS_data" dataset="check_for_SUCCESS">
<instance>${startTime2}</instance>
</data-in>
</input-events>
<action>
<workflow>
<app-path>${WF_path}</app-path>
<configuration>
<property><name>WaitForThisInputData</name><value>${coord:dataIn('check_for_SUCCESS_data')}</value></property>
<property><name>WhenToStart</name><value>${startTime2}</value></property>
<property><name>rundate</name><value>${coord:dataOut('currentFullDate')}</value></property>
<property><name>previousdate</name><value>${coord:dataOut('previousFullDate')}</value></property>
<property><name>currentyear</name><value>${coord:dataOut('currentYear')}</value></property>
<property><name>currentmonth</name><value>${coord:dataOut('currentMonth')}</value></property>
<property><name>currentday</name><value>${coord:dataOut('currentDay')}</value></property>
<property><name>previousbatchtime</name><value>${coord:formatTime(coord:dateOffset(coord:nominalTime(),-1,'DAY'),"yyyy-MM-dd")}</value></property>
<property><name>currentbatchtime</name><value>${coord:formatTime(coord:dateOffset(coord:nominalTime(),0,'DAY'),"yyyy-MM-dd")}</value></property>
<property><name>nextbatchtime</name><value>${coord:formatTime(coord:dateOffset(coord:nominalTime(),1,'DAY'),"yyyy-MM-dd")}</value></property>
</configuration>
</workflow>
</action>
</coordinator-app>
【讨论】: