oozie开发之EL常量笔记

oozie开发之EL常量笔记

EL常量函数说明:
${coord:minutes(int n)} 返回日期时间:从一开始,周期执行n分钟;
${coord:hours(int n)} 返回日期时间:从一开始,周期执行n * 60分钟;
${coord:days(int n)} 返回日期时间:从一开始,周期执行n * 24 * 60分钟;
${coord:months(int n)} 返回日期时间:从一开始,周期执行n * M * 24 * 60分钟(M表示一个月的天数);
${coord:endOfDays(int n)} 返回日期时间:从当天的最晚时间(即下一天)开始,周期执行n * 24 * 60分钟;
${coord:endOfMonths(1)} 返回日期时间:从当月的最晚时间开始(即下个月初),周期执行n * 24 * 60分钟;
${coord:current(int n)} 返回日期时间:从一个Coordinator动作(Action)创建时开始计算,第n个dataset实例执行时间;
${coord:dataIn(String name)} 在输入事件(input-events)中,解析dataset实例包含的所有的URI;
${coord:dataOut(String name)} 在输出事件(output-events)中,解析dataset实例包含的所有的URI;
${coord:offset(int n, String timeUnit)} 表示时间偏移,如果一个Coordinator动作创建时间为T,n为正数表示向时刻T之后偏移,n为负数向向时刻T之前偏移,timeUnit表示时间单位(选项有MINUTE、HOUR、DAY、MONTH、YEAR);
${coord:hoursInDay(int n)} 指定的第n天的小时数,n>0表示向后数第n天的小时数,n=0表示当天小时数,n<0表示向前数第n天的小时数;
${coord:daysInMonth(int n)} 指定的第n个月的天数,n>0表示向后数第n个月的天数,n=0表示当月的天数,n<0表示向前数第n个月的天数;
${coord:tzOffset()} dataset对应的时区与Coordinator Job的时区所差的分钟数;
${coord:latest(int n)} 最近以来,当前可以用的第n个dataset实例;
${coord:future(int n, int limit)} 当前时间之后的dataset实例,n>=0,当n=0时表示立即可用的dataset实例,limit表示dataset实例的个数;
c o o r d : n o m i n a l T i m e ( ) n o m i n a l 时 间 等 于 C o o r d i n a t o r J o b 启 动 时 间 , 加 上 多 个 C o o r d i n a t o r J o b 的 频 率 所 得 到 的 日 期 时 间 。 例 如 : s t a r t = ” 2009 − 01 − 01 T 24 : 00 Z ” , e n d = ” 2009 − 12 − 31 T 24 : 00 Z ” , f r e q u e n c y = ” {coord:nominalTime()} nominal时间等于Coordinator Job启动时间,加上多个Coordinator Job的频率所得到的日期时间。例如:start=”2009-01-01T24:00Z”,end=”2009-12-31T24:00Z”,frequency=” coord:nominalTime()nominalCoordinatorJobCoordinatorJobstart=20090101T24:00Zend=20091231T24:00Zfrequency={coord:days(1)}”,frequency=”${coord:days(1)},则nominal时间为:2009-01-02T00:00Z、2009-01-03T00:00Z、2009-01-04T00:00Z、…、2010-01-01T00:00Z;
c o o r d : a c t u a l T i m e ( ) C o o r d i n a t o r 动 作 的 实 际 创 建 时 间 。 例 如 : s t a r t = ” 2011 − 05 − 01 T 24 : 00 Z ” , e n d = ” 2011 − 12 − 31 T 24 : 00 Z ” , f r e q u e n c y = ” {coord:actualTime()} Coordinator动作的实际创建时间。例如:start=”2011-05-01T24:00Z”,end=”2011-12-31T24:00Z”,frequency=” coord:actualTime()Coordinatorstart=20110501T24:00Zend=20111231T24:00Zfrequency={coord:days(1)}”,则实际时间为:2011-05-01,2011-05-02,2011-05-03,…,2011-12-31;
${coord:user()} 启动当前Coordinator Job的用户名称;
${coord:dateOffset(String baseDate, int instance, String timeUnit)} 计算新的日期时间的公式:newDate = baseDate + instance * timeUnit,如:baseDate=’2009-01-01T00:00Z’,instance=’2′,timeUnit=’MONTH’,则计算得到的新的日期时间为’2009-03-01T00:00Z’;
c o o r d : f o r m a t T i m e ( S t r i n g t i m e S t a m p , S t r i n g f o r m a t ) 格 式 化 时 间 字 符 串 , f o r m a t 指 定 模 式 。 其 中 : o o z i e 中 {coord:formatTime(String timeStamp, String format)} 格式化时间字符串,format指定模式。 其中:oozie中 coord:formatTime(StringtimeStamp,Stringformat)formatoozie{coord:current(-1)}包括今天的和昨天的实例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值