博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工作流引擎Oozie(二):coordinator
阅读量:5933 次
发布时间:2019-06-19

本文共 2177 字,大约阅读时间需要 7 分钟。

1. 简介

coordinator是workflow的定时提交器,基于时间条件与数据生成触发(based on time and data triggers)。简单点说,coordinator按所定义的时间周期进行轮询,若数据生成条件满足,则触发workflow任务;否则,则等待数据生成或跳过(调度策略由设置的超时时间决定)。

2. 详解

coordinator-app

文件头定义了coordinator任务的名称,执行频率(frequency),开始与起止时间(start、end)。${coord:days(1)}为coordinator内置的EL function (Expression Language),表示为执行周期为一天。frequency的时间单位为分钟,则${coord:days(1)}=1440${coord:hours(3)}=180. 一般地,在job.properties定义如:start_time=2016-06-07T00:00Z,应以UTC时区为准。

Control information

-1
1
${execution_order}

datasets

${nameNode}/path/to/${YEAR}-${MONTH}-${DAY}/${HOUR}/

相关参数:

  • initial-instance,对应初始时间的数据目录,作为时间周期偏移的基准目录
  • uri-template,文件目录HDFS目录,${YEAR}${MONTH}等为EL Time Constants,具体数值由<input-events> <data-in ..>传入,也可通过job.properties传入自定义的参数。
  • done-flag,数据目录生成的文件标识,若未指定,则默认为 _SUCCESS 文件;若指定为空,则表示文件夹本身。

input-events

${coord:current(-1)}

定义了数据触发条件,${coord:current(-1)}表示对于当前时间的偏移,其中偏移量=数值* dataset frequency。有些时候,我们要判断多个目录是否生成,比如,判断一天的24个小时目录,这时应这样写:

${coord:current(-24)}
${coord:current(-1)}

action

${wf_app_path}
dayTime
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd')}

定义coordinator要触发的workflow,

  • app-path,workflow所在的HDFS目录;
  • property,定义传给workflow的参数

coordinator提供了一些用于时间计算的函数,比如:

  • coord:nominalTime(),返回coordinator的每一执行周期的当前时间;
  • coord:dateOffset(String baseDate, int instance, String timeUnit),计算偏移后的时间,newDate = baseDate + instance * timeUnit;
  • coord:formatTime(String ts, String format),定义格式化的时间,其中format应遵循Java's SimpleDateFormat。

返回多个时间:

${coord:formatTime(coord:dateOffset(coord:dateOffset(coord:nominalTime(), -12, 'HOUR'), -6, 'DAY'), 'yyyy-MM-dd')},${coord:formatTime(coord:dateOffset(coord:dateOffset(coord:nominalTime(), -12, 'HOUR'), -5, 'DAY')

转载于:https://www.cnblogs.com/en-heng/p/5581331.html

你可能感兴趣的文章
maven安装及配置
查看>>
【转】耐心看
查看>>
在C#中选择正确的集合进行编码
查看>>
C#正则表达式整理备忘
查看>>
rehat-server7常见服务安装与配置总结
查看>>
字节数转换为b,kb,mb,gb的方法 通用的手机流量计算方法
查看>>
《网络攻防实践》第五周作业
查看>>
iOS.Operation-on-ZipFile
查看>>
forget suffix word aby able ability out 1
查看>>
系统安装步骤
查看>>
sar命令详解
查看>>
2017易观OLAP算法大赛
查看>>
初入视频编码
查看>>
【搜索】魔板问题(BFS)
查看>>
JQuery放大镜效果
查看>>
if和switch-case
查看>>
(WIN7)delphi7运行关闭出现cannot creat file"C:\program file\borland\delphi7\bin\initcc32.exe拒绝访问...
查看>>
Flex builder: error when import another library project's classes?
查看>>
linux wifi热点服务脚本
查看>>
Vmware centos 虚拟机 磁盘扩容
查看>>