大数据研发治理套件 DataLeap 支持任务中使用变量参数,可根据您配置的变量参数,实现在实际调度运行时,自动替换为具体的值,本文将为您介绍平台时间变量参数与常量参数的相关使用说明。
变量参数类型
目前支持时间变量和任务输入参数两种变量参数类型,具体使用方式如下:
- 时间变量:${时间变量名}
- 任务输入参数:{{输入参数名}}
说明
- 字段为 string 类型时,使用需带上引号如'${date}'、‘{{输入参数名}}’
- 任务输入参数形式,支持上游任务输出结果传参、项目参数传参、自定义参数传参。详见输入输出参数设置。
业务时间说明
- 天任务业务时间=定时日期前一天0点,如定时时间为2019-01-02 08:13,其业务时间为 2019-01-01 00:00
- 小时任务业务时间=定时时间前一个小时,如定时时间为2019-01-02 08:13,其业务时间为 2019-01-02 07:00
- 分钟任务业务时间=定时时间往前寻找 0 或 5 整点时刻,最终业务时间为寻找整点时刻再往前一个 5 分钟,如定时时间为2019-01-02 08:13,其业务时间为 2019-01-02 08:05
时间变量说明
变量 | 含义 | 格式 | 示例 |
---|
${DATE} | 获取业务时间日期 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${DATE} =2019-01-01
小时任务:2019/01/02 8点执行,${DATE} =2019-01-02 |
${date} | 获取业务时间日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${date} =20190101
小时任务:2019/01/02 8点执行,${date} =20190102 |
${day} | 获取业务时间日期 | dd | 天任务:2019/01/02 8点执行,${day} =01
小时任务:2019/01/02 8点执行,${day} =02 |
${HOUR} | 获取业务时间整点 | h(整数) | 天任务:2019/01/02 8点执行,${HOUR} =0
小时任务:2019/01/02 8点执行,${HOUR} =7 |
${hour} | 获取业务时间整点 | hh | 天任务:2019/01/02 8点执行,${hour} =00
小时任务:2019/01/02 8点执行,${hour} =07 |
${MINUTE} | 获取业务时间整分钟 | m(整数) | 天任务:2019/01/02 08:10点执行,${MINUTE} =0
小时任务:2019/01/02 08:10点执行,${MINUTE} =0
5分钟任务:2019/01/02 08:10点执行,${MINUTE} =5 |
${minute} | 获取业务时间整分钟 | mm | 天任务:2019/01/02 08:10点执行,${minute} =00
小时任务:2019/01/02 08:10点执行,${minute} =00
5分钟任务:2019/01/02 08:10点执行,${minute} =05 |
${month} | 获取业务时间月份 | MM | 天任务:2019/01/02 8点执行,${month} =01
小时任务:2019/01/02 8点执行,${month} =01 |
${year} | 获取业务时间年份 | yyyy | 天任务:2019/01/02 8点执行,${year} =2019
小时任务:2019/01/02 8点执行,${year} =2019 |
${timestamp} | 获取业务时间时间戳 | XXXXXX...(整数) | 天任务:2019/01/02 8点执行,${timestamp} =1546272000
小时任务:2019/01/02 8点执行,${timestamp} =1546383600 |
${week_of_year} | 获取当前时间是本年的第几周 | %02d | 天任务:2019/01/02 8点执行,${week_of_year} =01
小时任务:2019/01/02 8点执行,${week_of_year} =01 |
${last_DATE} | 获取业务时间所处月份的最后一天 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${last_DATE} =2019-01-31
小时任务:2019/01/02 8点执行,${last_DATE} =2019-01-31 |
${last_date} | 获取业务时间所处月份的最后一天 | yyyyMMdd | 天任务:2019/01/02 8点执行,${last_date-1} =20181231
小时任务:2019/01/02 8点执行,${last_date-2} =20181130 |
${last_day} | 获取业务时间所处月份的最后一天 | dd | 天任务:2019/01/02 8点执行,${last_day-1} =31
小时任务:2019/01/02 8点执行,${last_day-2} =30 |
${DTF-xxxx} | 自定义时间格式 | xxxx | 天任务:2019/01/02 8点执行,${DTF-ddMMyy} =010119
小时任务:2019/01/02 8点执行,${DTF-ddMMyy} =020119 |
- 基本运算法则:往前或者往后 n 个单位时间,如:
- ${DATE+n} or ${DATE-n} 获取业务时间往后 +n 天 or 往前 -n 天的日期;
- ${hour+n} or ${hour-n} 获取业务时间整点往后 +n 小时 or 往前 -n 小时的整点
- 高级运算法则:${var+x+ym-zd+ph+qi},其中var代表时间变量,m代表月,d代表天,h代表小时,i代表分钟,即表达式表示业务时间加 x 单位时间(如果 var=date,加 x 天),加 y 个月,减 z 天,加 p 小时,加 q 秒,且最后按照 var 的输出格式输出,如:
- 例如业务时间=2019-01-01 00:00:00,${DTF-yyyyMMddHHmm-15i}=201812312345
- 例如业务时间=2019-01-01 00:00:00,${DTF-HHmm-1i}=2359
- 例如业务时间=2019-01-01 00:00:00,${date+1+2m}=20190302
- 例如业务时间=2019-01-01 00:00:00,${hour+3-1h}=02
- 月级别任务常量配置推荐使用 ${var-1m},可支持跨年场景;
- 获取任意月份最后一天:利用 ${last_date+N}、${last_DATE+N} 和 ${last_day+N} 可获取任意月份的最后一天,以2019-02-21执行结果为例:
- ${last_DATE} = 2019-02-28
- ${last_DATE-1} = 2019-01-31
- ${last_date+1} = 20190331
- ${last_day} = 28