• 大数据-玩转数据-DataWorks调度参数概述


    一、说明

    调度参数是DataWorks任务调度时使用的参数,调度参数会根据任务调度的业务日期、定时时间及参数的取值格式自动替换为具体的值,实现在任务调度时间内参数的动态替换。

    二、系统内置变量

    DataWorks支持的系统内置变量无需手动赋值,参数可以在代码中直接引用。如下表所示:

    2.1业务日期

    ${bdp.system.bizdate} 或 $bizdate
    固定格式:yyyymmdd
    该参数的应用较为广泛,日常调度中默认任务预期运行时间的前一天为业务日期。

    2.2 定时时间

    ${bdp.system.cyctime} 或 $cyctime
    固定格式:yyyymmddhh24miss

    2.3当前日期

    $gmtdate
    格式为:yyyymmdd
    该参数默认取当天日期,执行补数据操作时输入的日期为业务日期+1|

    2.4业务月份

    $bizmonth

    如果业务日期的月份与当前月份一致,则 $ bizmonth=业务日期月份-1,如果业务日期的月份与当前月份不一致,则$bizmonth=业务日期月份|

    2.5 任务所属的业务流程ID

    $jobid

    2.6节点ID

    $nodeid

    2.7节点产生的实例ID

    $taskid

    三、自定义参数

    3.1自定义参数${…}

    根据业务日期的系统内置参数$bizdate(昨天)获取以下时间周期的取值。

    前/后N年 ${yyyy±N}
    前/后N月 ${yyyymm±N}
    前/后N周 ${yyyymmdd±7*N}
    前/后N天 ${yyyymmdd±N}
    年月日加/减N天 ${yyyymmdd±N}
    加/减N年(yyyy格式) ${yyyy±N}年
    加/减N年(yy格式) ${yy±N}年其中:

    yyyy:表示4位的年份,取值为 $bizdate的年份。
    yy:表示2位的年份,取值为 $bizdate的年份。
    mm:表示月份,取值为 $bizdate的月份。
    dd:表示天,取值为 $bizdate的天。

    说明
    获取多少月、多少年前等时间数据请使用 . . . 参 数 。 由 于 {...}参数。 由于 ...bizdate只支持精确到天,因此${…}参数仅支持取值到天。
    您可以结合引擎函数,获取更多参数取值,详情请参见调度参数返回值二次处理的典型场景。

    3.2自定义参数$[…]

    根据任务定时时间的系统内置参数$cyctime(今天)获取以下时间周期的取值。

    后N年 $[add_months(yyyymmdd,12N)]
    前N年 $[add_months(yyyymmdd,-12
    N)]
    后N月 $[add_months(yyyymmdd,N)]
    前N月 $[add_months(yyyymmdd,-N)]
    前/后N周 $[yyyymmdd±7*N]
    前/后N天 $[yyyymmdd±N]

    前/后N小时 获取该时间数据包含如下两种方式:
    $[hh24miss±N/24]
    [ 自 定 义 时 间 格 式 ± N / 24 ] 例 如 , [自定义时间格式±N/24] 例如, [±N/24][hh24±N/24]
    前/后N分钟 获取该时间数据包含如下两种方式:
    $[hh24miss±N/24/60]
    [ 自 定 义 时 间 格 式 ± N / 24 / 60 ] 。 例 如 , [自定义时间格式±N/24/60]。例如, [±N/24/60][mi±N/24/60]、 $[yyyymmddhh24miss±N/24/60]

    其中:
    yyyy:表示4位的年份,取值为 $cyctime的年份。
    yy:表示2位的年份,取值为 $cyctime的年份。
    mm:表示月份,取值为 $cyctime的月份。
    dd:表示天,取值为 $cyctime的天。
    hh24:表示小时(12进制使用hh),取值为 $cyctime的小时。
    mi:表示分钟,取值为 $cyctime的分钟。
    ss:表示秒,取值为 $cyctime的秒。

    四、调度参数的典型场景配置

    获取多少小时、多少分钟前等时间数据请使用 $[…]参数。
    由于 $cyctime精确到时分秒,因此 $[…]参数可以精确到时分秒。

    您可以结合引擎函数,获取更多参数取值,详情请参见调度参数返回值二次处理的典型场景。

    调度参数替换值在实例生成时已经确定,所以调度参数的替换值不会随着实例实际运行时间的改变而改变。

    当调度参数取小时、分钟时,参数替换值由实例的定时时间决定,即由节点调度配置的定时调度时间决定。
    如下示例:
    如果当前节点为日调度节点,并且设置定时调度时间为01:00,则小时的参数取值为01。
    如果当前节点为小时调度节点,并且设置定时调度时间为00:00~23:59,每小时调度一次,则:
    第一个小时实例定时时间为0点,小时的参数取值为00。
    第二个小时实例定时时间为1点,小时的参数取值为01。
    以此类推。

  • 相关阅读:
    phpstorm+wamp在线调试wordpress
    剖析浏览器渲染与服务器渲染及其根本区别
    【纯手工打造】时间戳转换工具(python)
    【低代码表单设计器】:创造高效率的流程化办公!
    01 Spring 介绍
    ubuntu22.04编译DPDK19.08.2注意事项
    闲谈:3AC到底发生了什么?
    批量多字段唯一性校验
    WebSocket 详解--spring boot简单使用案例
    SpringBoot2.0---------------2、SpringBoot入门
  • 原文地址:https://blog.csdn.net/s_unbo/article/details/125363059