调度配置

 

参数配置

更新时间 2023-09-06

调度参数是作业调度时使用的参数,调度参数会根据作业调度的时间及调度参数的取值格式自动替换取值。

配置调度参数

在参数配置区域,您可以通过可视化或表达式方式新增参数。

同一个作业可以配置多个调度参数。

可视化方式

  • 添加变量:通过新增变量的方式为作业添加参数。
  • 加载代码中的参数:该功能可以识别当前作业代码中定义的变量名,并自动将变量名添加为参数。
可视化方式

表达式方式

参数配置默认使用可视化方式定义参数,您可以根据使用习惯切换为表达式方式。

表达式方式

参数列表

调度参数分为系统内置参数自定义参数

系统内置参数

参数名 定义
${ScheduleTime} 调度时间,格式为:yyyymmddHHMMSS。
  • yyyy:表示 4 位的年份,取值为作业实例调度运行的年份。
  • mm:表示月,取值为作业实例调度运行的月份。
  • dd:表示日期,取值为作业实例调度运行的日期。
  • HH:表示小时(24 进制),取值为作业实例调度运行的小时。
  • MM:表示分钟,取值为作业实例调度运行的分钟。
  • SS:表示秒,取值为作业实例调度运行的秒。
    例如:20220112100500。
  • ${ScheduleTimestampMillisecond} 调度时间戳,long 类型,精确到毫秒
    例如:1641965312454(2022-01-12 13:28:32)。
    ${ScheduleTimestampSecond} 调度时间戳,long 类型,精确到
    例如:1641965312(2022-01-12 13:28:32)。

    自定义参数

    您可以通过自定义参数规则来自定义参数。

    自定义参数规则

    关键字组合 定义 示例
    yy 年份的缩写,取标准年份的后两位。 若当前时间为 2022-01-03 14:04:08.733169,
    ${yy} 的取值为 22。
    yyyy 年份的标准格式。 若当前时间为 2022-01-03 14:04:08.733169,
    ${yyyy} 的取值为 2022。
    m 月份的数字格式。 若当前时间为 2022-01-03 14:04:08.733169,
    ${m} 的取值为 1。
    若调度时间为 2022-12-01 01:59:45.733169,
    ${m} 的取值为 12。
    mm 月份的数字格式,固定使用 2 字节,不足用 0 补齐。 若当前时间为 2022-01-03 14:04:08.733169,
    ${mm} 的取值为 01。
    若调度时间为 2022-12-01 01:59:45.733169,
    ${mm} 的取值为 12。
    mmm 月份的英文缩写。 若当前时间为 2022-01-03 14:04:08.733169,
    ${mmm} 的取值为 Jan。
    mmmm 月份的英文全称。 若当前时间为 2022-01-03 14:04:08.733169,
    ${mmmm} 的取值为 January。
    d 日的数字格式。 若当前时间为 2022-01-03 14:04:08.733169,
    ${d} 的取值为 3。
    dd 日的数字格式,固定使用 2 字节,不足用0补齐。 若当前时间为 2022-01-03 14:04:08.733169,
    ${d} 的取值为 03。
    w 星期的英文缩写。 若当前时间为 2022-01-03 14:04:08.733169,
    ${w} 的取值为 Mon。
    ww 星期的英文全称。 若当前时间为 2022-01-03 14:04:08.733169,
    ${ww} 的取值为 Monday。
    H 小时,12 进制。 若当前时间为 2022-01-03 14:04:08.733169,
    ${H} 的取值为 02。
    HH 小时,24 进制。 若当前时间为 2022-01-03 14:04:08.733169,
    ${HH} 的取值为 14。
    M 分钟的数字格式。 若当前时间为 2022-01-03 14:04:08.733169,
    ${M} 的取值为 4。
    MM 分钟的数字格式,固定使用 2 字节,不足用0补齐。 若当前时间为 2022-01-03 14:04:08.733169,
    ${MM} 的取值为 04。
    S 秒的数字格式。 若当前时间为 2022-01-03 14:04:08.733169,
    ${S} 的取值为 8。
    SS 秒的数字格式,固定使用 2 字节,不足用0补齐。 若当前时间为 2022-01-03 14:04:08.733169,
    ${S} 的取值为 08。

    自定义参数示例

    根据自定义参数规则和系统参数 ${ScheduleTime} ,可以获取以下时间参数的取值。

    参数名 定义
    ${yyyy} 调度年份,格式为: yyyy。
    例如:2022
    ${yyyymm} 调度年份+月份,格式为:yyyymm。
    例如:202201
    ${yyyy-mm} 调度年份+月份,格式为:yyyy-mm。
    例如:2022-01
    ${yyyymmdd} 调度年份+月份+日期,格式为:yyyymmdd。
    例如:20220112
    ${yyyy-mm-dd} 调度年份+月份+日期,格式为:yyyy-mm-dd。
    例如:2022-01-12
    ${yyyymmddHH} 调度年份+月份+日期+小时,格式为:yyyymmddHH。
    例如:2022011210
    ${yyyy-mm-dd HH} 调度年份+月份+日期+小时,格式为:yyyy-mm-dd HH。
    例如:2022-01-12 10
    ${yyyymmddHHMM} 调度年份+月份+日期+小时+分钟,格式为:yyyymmddHHMM。
    例如:202201121005
    ${yyyy-mm-dd HH:MM} 调度年份+月份+日期+小时+分钟,格式为:yyyy-mm-dd HH:MM。
    例如:2022-01-12 10:05
    ${yyyymmddHHMMSS} 调度年份+月份+日期+小时+分钟+秒,格式为:yyyymmddHHMMSS。
    例如:20220112100500
    ${yyyy-mm-dd HH:MM:SS} 调度年份+月份+日期+小时+分钟+秒,格式为:yyyy-mm-dd HH:MM:SS。
    例如:2022-01-12 10:05:00
    • yyyy:表示 4 位的年份,取值为作业实例调度运行的年份。
    • mm:表示月,取值为作业实例调度运行的月份。
    • dd:表示日期,取值为作业实例调度运行的日期。
    • HH:表示小时(24 进制),取值为作业实例调度运行的小时。
    • MM:表示分钟,取值为作业实例调度运行的分钟。
    • SS:表示秒,取值为作业实例调度运行的秒。

    加减周期参数

    加减周期参数,由 +/- 符号,区分前后两部分。加减周期参数也属于自定义参数。

    前部分:系统参数 或 自定义参数,包括:ScheduleTime、ScheduleTimestampMillisecond、ScheduleTimestampSecond、yyyymmddHHMMSS 等。

    后部分:

    参数 含义
    ny n 表示数字,y 表示年
    nm n 表示数字,m 表示月
    nw n 表示数字,w 表示周
    Nd n 表示数字,d 表示天
    nH n 表示数字,H 表示小时
    nM n 表示数字,M 表示分钟
    nS n 表示数字,S 表示秒钟

    加减周期后,输出格式不变。

    组合后样例:

    • ${ScheduleTime-1d} 输出格式为:20220208171257
    • ${ScheduleTimeStamp-1d} 输出格式为:1644311577537
    • ${ScheduleTimeSecond-1d} 输出格式为:1644311577
    • ${yyyy-mm-dd HH:MM:SS-1d} 输出格式为:2022-02-08 17:12:57
    日期/时间加减周期 参数取值 说明
    后 n 年 ${ScheduleTime+ny} 等价于 ${yyyymmddHHMMSS+ny} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20240112100500
    前 n 年 ${ScheduleTime-ny} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20200112100500
    后 n 月 ${ScheduleTime+nm} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220312100500
    前 n 月 ${ScheduleTime-nm} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20211112100500
    后 n 周 ${ScheduleTime+2w} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220126100500
    前 n 周 ${ScheduleTime-2w} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20211229100500
    后 n 天 ${ScheduleTime+nd} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220114100500
    前 n 天 ${ScheduleTime-nd} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220110100500
    后 n 小时 ${ScheduleTime+nH} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220112120500
    前 n 小时 ${ScheduleTime-nH} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220112080500
    后 n 分钟 ${ScheduleTime+nM} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220112100700
    前 n 分钟 ${ScheduleTime-nM} ScheduleTime 为系统参数的调度时间,可以更改为自定义参数,加减周期后结果与系统参数格式相同。
    当 ScheduleTime=20220112100500,n=2 时,value=20220112100300

    完整配置示例

    场景介绍

    每小时 05 分执行一个定时调度作业,该作业会汇总上一个小时完整的数据进行增量同步。

    配置调度时间

    1. 配置时间调度:每小时 05 分钟周期调度执行。

    2. 参数配置:

      var1=${yyyy-mm-dd-1H} ,每小时 05 执行上一个小时的数据,所以这里定义一个变量为上一个小时整点时间,比如 2022-01-12 00:05 执行的是 2022-01-11 23:00-2022-01-12 00:00 的数据,则 var1 为 2022-01-11

      var2=${yyyymmddHH-1H},每小时 05 执行上一个小时的数据,所以这里定义一个变量为上一个小时小时整点,比如 2022-01-12 00:05 执行的是 2022-01-11 23:00-2022-01-12 00:00 的数据,则 var2 为 2022011123

      var3=${yyyymmddHH},每小时 05 执行上一个小时的数据,所以这里定义一个变量为上一个小时小时整点,比如 2022-01-12 00:05 执行的是 2022-01-11 23:00-2022-01-12 00:00 的数据,则 var3 为 2022011200

    3. 数据集成作业开发。
      在脚本模式或者向导模式中,可以通过 ${var1}, ${var2} 的方式,直接引用参数。
      例如:
      数据过滤条件的 SQL 中可以填写:time>=${var2} and time<${var3}

      注意

      数据集成作业开发中,禁止直接使用系统内置参数自定义参数,仅可以使用调度参数。即 ${var1},${var2},${var3},禁止使用 ${ScheduleTime} 或 ${yyyymmdd}。

    4. 在运维中心,该作业实例详情里,可以看到该调度实例对应参数以及值,即 2022-01-12 00:05 生成的作业实例 var1=2022-01-11,var2=2022011123,var3=2022011200。

    这篇文档解决了您的问题吗?
    0
    0