样例如下:

<coordinator-app name="test_job" frequency="${coord:days(1)}" start="${job_start}" end="${job_end}"
timezone="GMT+08:00" xmlns="uri:oozie:coordinator:0.2">
<controls>
<concurrency>1</concurrency>
</controls>
<datasets>
<dataset name="input_data" frequency="${coord:days(1)}"
initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
<done-flag>_SUCCESS</done-flag>
</dataset>
</datasets>
<input-events>
<data-in name="input" dataset="input_data">
<instance>${coord:current(-1)}</instance>
</data-in>
</input-events>
<action>
<workflow>
<app-path>${application_path}</app-path>
<configuration>
<property>
<name>nominalformateDate</name>
<value>${coord:formatTime(coord:nominalTime(), "yyyyMMdd")}</value>
</property>
<property>
<name>user_name</name>
<value>${coord:user()}</value>
</property>
<property>
<name>nominal_date</name>
<value>${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), "yyyy-MM-dd")}</value>
</property>
</configuration>
</workflow>
</action>
</coordinator-app>

当某个coordinator job 开始执行时,oozie会首先检查所有的input-events是否都已满足条件,主要检查以下内容:uri-template

1、uri-template 指定路径的文件或文件夹是否已经存在;

2、done-flag 指定的文件是否存在。

只有当input-events满足了设置的条件时,工作流才会切换到runing状态,否则将一直处于wait状态,并时刻监视指定的文件或文件夹,一但input-events满足了,工作流会立即进入running状态。

done-flag 的设置一般有三种情况:

1、直接不设置 done-flag 标签,如下:

<dataset name="input_data" frequency="${coord:days(1)}"    initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
</dataset>

oozie 将默认done-flag 为 '_SUCCESS',所以需要满足 uri-template 指定路径的文件夹下存在 _SUCCESS 文件 ,job才触发执行。

2、设置done-flag 标签,但值为空,如下:

<dataset name="input_data" frequency="${coord:days(1)}"    initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
<done-flag></done-flag>
</dataset>

oozie 则直接检测 uri-template 指定路径的文件或文件夹是否存在,只要存在就直接触发 job执行。

3、设置done-flag 标签,值不为空,如下:

<dataset name="input_data" frequency="${coord:days(1)}"    initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
<done-flag>trigger.dat</done-flag>
</dataset>

oozie 则直接检测 uri-template 指定路径的文件夹下是否存在done-flag指定的文件如本例的 trigger.dat 文件,只要存在就触发 job执行。

最新文章

  1. .NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别
  2. java环境变量详细配置步骤
  3. Tomcat基本入门知识及发布,虚拟访问及启动碰到的错误,虚拟目录,虚拟路径,各种Tomcat的配置
  4. https协议了解,以及相关协议的解析
  5. ajax上传
  6. javascript中的对象之间继承关系
  7. C# listview 拖动节点
  8. [翻译]ASP.NET Web API 2入门
  9. OC - 21.CALayer核心要点及实例解析
  10. poj2975--Nim
  11. &lt;正向/反向&gt;最大匹配算法(Java)
  12. ZUFE OJ 2288 God Wang I
  13. python 题库1
  14. asp.net webapi 的Request如何获取参数
  15. emos邮件系统的web密码修改方法
  16. [转] MySql 数据类型
  17. 3、CentOS 6.5系统安装配置Tomcat 8详细过程
  18. Moment.js 一款JS时间封装库
  19. 清华梦的粉碎—写给清华大学的退学申请(转自王垠Blog)
  20. resin4.0.23+nginx1.1集群

热门文章

  1. 用mapreduce来操作hbase的优化
  2. jenkins+gitlab钩子+shell脚本基于git的tag实现App增量更新
  3. adb--monkey 压力测试工
  4. 总结一些js自定义的函数
  5. 深入理解Android的密度独立性
  6. iOS 获得通讯录中联系人的所有属性--b
  7. unity, instantiate一个实例后,先指定parent,再指定position
  8. Java compiler level does not match the version of the installed Java project fac
  9. HDU 1016:Prime Ring Problem
  10. Atitit. 解决80端口 System 占用pid 4,,找到拉个程序或者服务占用http 80服务