tencent cloud

数据开发治理平台 WeData

调度参数

Download
聚焦模式
字号
最后更新时间: 2026-03-13 17:54:07

一、时间参数

调度参数是任务调度时使用的参数,会根据任务调度的业务时间及调度参数的取值格式自动替换取值,实现在任务调度时间内参数的动态取值。
支持的调度参数
实例数据时间:处理业务数据的基准时间,天、周、月、年任务实例数据时间为当天0点,小时任务实例数据时间为该小时0分,分钟任务实例数据时间 = 计划调度时间。同一实例的实例数据时间在周期运行、补录、重跑中都是相同的。
计划调度时间:在调度周期中配置的执行时间,也是实例生成的时间。
实例执行时间:实例真实执行的开始时间。
时区
任意时区
适用范围
数据集成
数据开发

参数说明

调度参数
参数取值
参数描述
实例数据时间
(UTC±n 时区)
${UTC±n_时间参数} 是表示基于UTC±n 时区的实例数据时间。时间参数包含如下,可以任意组合参数,例如 ${UTC+0_yyyyMMdd}、${UTC+7_yyyy-MM-dd}、
${UTC-3_HH:mm:ss} 和${UTC+0_yyyyMMddHHmmss} 等
yyyy 表示4位的年份,yy 表示2位的年份
MM 表示月
dd 表示天
HH 表示小时
mm 表示分钟
ss 表示秒

实例数据时间指任务处理业务数据的时间,精确到秒。数据时间可通过 ${UTC±n_yyyyMMddHHmmss} 获取,表示 UTC±n 时区下实例数据时间。
实例数据时间规则如下:
分钟任务,数据时间 = 计划调度时间 ;
小时任务,数据时间为 yyyy-MM-dd HH:00:00(yyyy-MM-dd HH 与计划调度时间一致);
天、周、年、月任务,数据时间为 yyyy-MM-dd 00:00:00(yyyy-MM-dd 与计划调度时间一致)。
对于测试运行,获取时间是提交执行时间。

常用参数:
${UTC+0_yyyyMMdd}
${UTC+0_yyyy-MM-dd}
${UTC+0_HH:mm:ss}
${UTC+0_yyyyMMddHHmmss}
计划调度时间(UTC+±n 时区)
$(UTC±n_时间参数) 是表示基于UTC±n 时区的计划调度时间。时间参数同实例数据时间,可以任意组合参数,例如 $(UTC+7_yyyyMMdd)、$(UTC+9_yyyy-MM-dd)、$(UTC-1_HH:mm:ss) 和$(UTC+0_yyyyMMddHHmmss)等
指实例计划调度时间,也是实例生成时间,精确到秒。计划调度时间可通过$(UTC±n_yyyyMMddHHmmss) 获取,表示 UTC±n 时区下的计划调度时间。
具体是指在调度配置中定义的执行时间。

实例执行时间
(UTC±n 时区)
$[UTC±n_时间参数]是表示基于UTC±n 时区的实例执行时间。时间参数同实例数据时间,可以任意组合参数,例如 $[UTC+7_yyyyMMdd]、$[UTC+8_yyyy-MM-dd]、
$[UTC-3_HH:mm:ss]和$[UTC+0_yyyyMMddHHmmss]等
指实例实际执行的开始时间,精确到秒。实例执行时间可通过$[UTC±n_yyyyMMddHHmmss]获取,表示 UTC±n 时区下的实例执行时间。
实例数据时间
(UTC+8 时区)
${时间参数} 是表示基于 UTC+8 时区的实例数据时间。时间参数同上,可以任意组合参数,例如${yyyyMMdd}、${yyyy-MM-dd}、${HH:mm:ss} 和${yyyyMMddHHmmss} 等
实例数据时间指任务处理业务数据的时间,精确到秒。数据时间可通过 ${yyyyMMddHHmmss} 获取,表示 UTC+8 时区下实例数据时间。
计划调度时间(UTC+8 时区)
$(时间参数) 是表示基于 UTC+8 时区的计划调度时间。时间参数同上,可以任意组合参数,例如$(yyyyMMdd)、$(yyyy-MM-dd)、$(HH:mm:ss) 和$(yyyyMMddHHmmss)等
指实例计划调度时间,也是实例生成时间,精确到秒。计划调度时间可通过$(yyyyMMddHHmmss) 获取,表示 UTC+8 时区下的计划调度时间。
实例执行时间
(UTC+8 时区)
$[时间参数]是表示基于 UTC+8 时区的实例执行时间。时间参数同上,可以任意组合参数,例如$[yyyyMMdd]、$[yyyy-MM-dd]、$[HH:mm:ss]和$[yyyyMMddHHmmss]等
指实例实际执行的开始时间,精确到秒。实例执行时间可通过 $[yyyyMMddHHmmss] 获取,表示 UTC+8 时区下的实例执行时间。
除上述格式外,还可通过计算基于当前参数获取所需的时间,具体如下,以下以 UTC+0 实例数据时间参数为例,其他参数同理。
序号
时间参数格式
说明
备注
1
${UTC+0_yyyyMMdd+Ny}
后 N 年
若引用 dt=${yyyyMMdd-1M},将执行替换:dt=20210610 若引用 ,将执行替换:dt=20210709 若引用 time=${yyyyMMddHHmmss-3h},将执行替换:time=20210710050000 若引用 ti=${yyyyMMddHHmmss-25m},将执行替换:ti=20210710073500
2
${UTC+0_yyyyMMdd-Ny}
前 N 年
3
${UTC+0_yyyyMMdd+NM}
后 N 月
4
${UTC+0_yyyyMMdd-NM}
前 N 月
5
${UTC+0_yyyyMMdd+Nw}
后 N 周
6
${UTC+0_yyyyMMdd-Nw}
前 N 周
7
${UTC+0_yyyyMMdd+Nd}
后 N 天
8
${UTC+0_yyyyMMdd-Nd}
前 N 天
9
${UTC+0_yyyyMMddHHmmss+NH}
后 N 小时
10
${UTC+0_yyyyMMddHHmmss-NH}
前 N 小时
11
${UTC+0_yyyyMMddHHmmss+Nm}
后 N 分钟
12
${UTC+0_yyyyMMddHHmmss-Nm}
前 N 分钟
13
${timestamp}
调度时间戳(10位)
${timestamp}=1625875200 支持使用 “+”、“-” 等运算符处理。
14
${timestamp_ms}
调度时间戳(13位)
${timestamp_ms}=1698508800000
支持使用 “+”、“-” 等运算符处理。
对于常见的日期提供了快捷的转换表达式,具体如下,以下以 UTC+0 实例数据时间参数为例,其他参数同理。
序号
时间参数格式
说明
1
${UTC+0_yyyyMMdd+TE}
TENDAY END 数据日期对应旬末
2
${UTC+0_yyyyMMdd+ME}
MONTH END 数据日期对应月末
3
${UTC+0_yyyyMMdd+QE}
QUARTER END 数据日期对应季末
4
${UTC+0_yyyyMMdd+HYE}
HALF YEAR END 数据日期对应半年末
5
${UTC+0_yyyyMMdd+YE}
YEAR END 数据日期对应年末
6
${UTC+0_yyyyMMdd+TS}
TENDAY START 数据日期对应旬初
7
${UTC+0_yyyyMMdd+MS}
MONTH START 数据日期对应月初
8
${UTC+0_yyyyMMdd+HYS}
HALFYEAR START 数据日期对应半年初
9
${UTC+0_yyyyMMdd+YS}
YEAR START 数据日期对应年初
10
${UTC+0_yyyyMMdd+PME}
PRI MONTH END 数据日期对应上月月末
11
${UTC+0_yyyyMMdd+PYE}
PRI YEAR END 数据日期上年年末

使用实例

示例1:天分区,取 UTC+7 计划调度时间的日期

代码中使用方式如下:

create table if not exists default.day_partition_example_source(
col1 string
) partitioned by(
dt string
);

create table if not exists default.day_partition_example_sink(
col1 string
) partitioned by(
dt string
);

insert overwrite table
default.day_partition_example_sink partition(dt = '$(UTC+7_yyyy-MM-dd)')
select
col1
from
default.day_partition_example_sink where dt = '$(UTC+7_yyyy-MM-dd)';
运行结果如下:



示例2:小时分区,取 UTC+7 计划调度时间的小时

代码中使用方式如下:

create table if not exists default.day_partition_example_source(
col1 string
) partitioned by(
dt string, hour string,
);

create table if not exists default.day_partition_example_sink(
col1 string
) partitioned by(
dt string, hour string
);

insert overwrite table
default.day_partition_example_sink partition(dt = '$(UTC+7_yyyy-MM-dd)', hour = '$(UTC+7_HH)')
select
col1
from
default.day_partition_example_sink where dt = '$(UTC+7_yyyy-MM-dd)' and hour = '$(UTC+7_HH)';

运行结果如下:



二、其他系统内置参数

参数
含义
${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}
示例图如下:



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈