调度参数

最近更新时间:2024-07-19 14:27:41

我的收藏

一、时间参数

调度参数是任务调度时使用的参数,会根据任务调度的业务时间及调度参数的取值格式自动替换取值,实现在任务调度时间内参数的动态取值。
目前支持两种调度参数:实例数据时间、计划调度时间。
适用范围:数据集成和数据计算任务。
调度参数
参数取值
参数描述
实例数据时间
${…} 是自定义参数格式的时间参数。通过 yyyy 表示4位的年份,yy 表示2位的年份,MM 表示月,dd 表示天,HH 表示小时,mm 表示分钟,ss 表示秒。可以任意组合参数,例如${yyyyMMdd}、${yyyy-MM-dd}、${HH:mm:ss} 和${yyyyMMddHHmmss} 等
指任务处理业务数据的时间,精确到秒。数据时间可通过 ${yyyyMMddHHmmss} 获取。
默认T + 0方式,数据时间规则如下:
分钟任务,数据时间 = 计划调度时间 ;
小时任务,数据时间为 yyyy-MM-dd HH:00:00(yyyy-MM-dd HH 与计划调度时间一致);
天、周、年、月任务,数据时间为 yyyy-MM-dd 00:00:00(yyyy-MM-dd 与计划调度时间一致)。
对于测试运行,获取时间是提交执行时间。



常用参数:
${yyyyMMdd}
${yyyy-MM-dd}
${HH:mm:ss}
${yyyyMMddHHmmss}
计划调度时间
$(…) 是自定义参数格式的时间参数。
指实例计划调度时间,也是实例生成时间,精确到秒。计划调度时间可通过$(yyyyMMddHHmmss) 获取。

常用参数:
$(yyyyMMdd)
以下为关于实例数据时间的常用参数格式:
时间
时间参数格式
备注
后 N 年
${yyyyMMdd+Ny}
若引用 dt=${yyyyMMdd-1M},将执行替换:dt=20210610 若引用 ,将执行替换:dt=20210709 若引用 time=${yyyyMMddHHmmss-3h},将执行替换:time=20210710050000 若引用 ti=${yyyyMMddHHmmss-25m},将执行替换:ti=20210710073500
前 N 年
${yyyyMMdd-Ny}
后 N 月
${yyyyMMdd+NM}
前 N 月
${yyyyMMdd-NM}
后 N 周
${yyyyMMdd+Nw}
前 N 周
${yyyyMMdd-Nw}
后 N 天
${yyyyMMdd+Nd}
前 N 天
${yyyyMMdd-Nd}
后 N 小时
${yyyyMMddHHmmss+NH}
前 N 小时
${yyyyMMddHHmmss-NH}
后 N 分钟
${yyyyMMddHHmmss+Nm}
前 N 分钟
${yyyyMMddHHmmss-Nm}
调度时间戳(10位)
${timestamp}
${timestamp}=1625875200 支持使用 “+”、“-” 等运算符处理。
调度时间戳(13位)
${timestamp_ms}
${timestamp_ms}=1698508800000
支持使用 “+”、“-” 等运算符处理。
对于常见的日期提供了快捷的转换表达式,如下:
序号
时间参数格式
说明
1
${yyyyMMdd+TE}
TENDAY END 数据日期对应旬末
2
${yyyyMMdd+ME}
MONTH END 数据日期对应月末
3
${yyyyMMdd+QE}
QUARTER END 数据日期对应季末
4
${yyyyMMdd+HYE}
HALF YEAR END 数据日期对应半年末
5
${yyyyMMdd+YE}
YEAR END 数据日期对应年末
6
${yyyyMMdd+TS}
TENDAY START 数据日期对应旬初
7
${yyyyMMdd+MS}
MONTH START 数据日期对应月初
8
${yyyyMMdd+HYS}
HALFYEAR START 数据日期对应半年初
9
${yyyyMMdd+YS}
YEAR START 数据日期对应年初
10
${yyyyMMdd+PME}
PRI MONTH END 数据日期对应上月月末
11
${yyyyMMdd+PYE}
PRI YEAR END 数据日期上年年末

以下为关于计划调度时间的常用参数格式:
时间
时间参数格式
备注
调度时间
$(yyyyMMddHHmmss)
若引用 dt=$(yyyyMMdd-1M),将执行替换:dt=20210610
若引用 ,将执行替换:dt=20210709
若引用 time=$(yyyyMMddHHmmss-3h),将执行替换:time=20210710050000
若引用 ti=$(yyyyMMddHHmmss-25m),将执行替换:ti=20210710073500
后 N 年
$(yyyyMMdd+Ny)
前 N 年
$(yyyyMMdd-Ny)
后 N 月
$(yyyyMMdd+NM)
前 N 月
$(yyyyMMdd-NM)
后 N 周
$(yyyyMMdd+Nw)
前 N 周
$(yyyyMMdd-Nw)
后 N 天
$(yyyyMMdd+Nd)
前 N 天
$(yyyyMMdd-Nd)
后 N 小时
$(yyyyMMddHHmmss+NH)
前 N 小时
$(yyyyMMddHHmmss-NH)
后 N 分钟
$(yyyyMMddHHmmss+Nm)
前 N 分钟
$(yyyyMMddHHmmss-Nm)
调度时间戳
$(timestamp)
$(timestamp)=1625875200 支持使用 “+”、“-” 等运算符处理。

二、其他系统内置参数

参数
含义
${projectIdent}
项目标识
${workflowName}
工作流名称
${taskName}
任务名称
${taskId}
任务 ID
${taskInCharge}
责任人
${taskType}
任务类型
使用场景1:在 SQL 中直接使用,获取当前项目、工作流等信息。
select "${projectIdent}" as projectIdent, "${workflowName}" as workflowName, "${taskName}" as taskName, "${taskId}" as taskId, "${taskInCharge}" as taskInCharge, "${taskType}" as taskType, user_id from wedata_demo_db.user_info limit 10;
使用场景2:在 SparkSQL、PySpark、Spark 的任务中使用 --name + 变量来指定 yarn 上的任务名称。
--name ${projectIdent}-${workflowName}-${taskInCharge}
在 SparkSQL 链接 kyuubi 数据源的时候,目前参数名称需要使用 spark.app.name 来指定。
spark.app.name=${projectIdent}-${workflowName}-${taskInCharge}