本文对任务编排功能涉及的变量进行介绍,并介绍配置时间变量的方法。
变量介绍
在配置任务节点页面的变量设置页签中,您会遇到以下部分或全部变量:- 节点变量:节点变量为时间变量,只能在当前节点中使用。
- 任务流变量:任务流变量为时间变量,在所有节点中都可使用。
说明 您可以在任务流的任一节点中设置任务流变量,其他节点会自动同步该设置。
- 输入变量:系统自动获取。您可使用 ${var_name} 的形式在当前节点的SQL语句中引用输入变量,或者将输入变量用于条件分支节点中作为判断变量。输入变量包括:
- 输出变量:输出变量由当前节点定义并赋值,可被下游节点查看和引用。
例如,在脚本代码节点中增加输出变量,该输出变量可以在下游节点的SQL语句中被引用。
- 脚本输出变量:如果脚本最后一行输出的是JSON结构数据,结构格式为
{ key1: value1, key2: value2, … }
,且value是String类型,脚本任务会自动获取JSON键值对,解析出变量名为key的变量,变量key的值为value。变量的引用方式为${key}
。例如,脚本的最后一行是
echo {"hello": "world"}
,那么脚本任务会解析出变量hello,变量hello的值为world。
配置时间变量
配置项 | 说明 |
---|---|
变量名 | 输入自定义时间变量的名称。
说明 如需删除已配置的变量,您可以单击右侧的
![]() |
变量规则 | 配置时间变量的规则。
|
时间格式
变量支持的时间格式如下:
时间变量 | 描述 | 输入示例 | 返回示例 |
---|---|---|---|
公元 | G表示公元。 | Gyyyy | 公元2021年 |
年 |
|
yyyy | 2021 |
月 | M当前年份的第N个月,M的返回值为[1,12],MM的返回值为[01,12],MMM将返回一月至十二月。 | MM | 08 |
周 |
|
ww | 13 |
天 |
|
D | 360 |
周几 |
|
e | 1 |
上午、下午 | a表示上午或下午。返回值为:上午(00:00-11:59)、下午(12:00-23:59)。 | a | 上午 |
小时 |
|
HH | 10 |
分钟 | m表示分钟数,m的返回值[0, 59],mm的返回值[00, 59]。 | m | 27 |
秒 |
|
ss | 08 |
时区 | z表示时区。 | z | UTC+08:00 |
时间格式的组合示例:
输入示例 | 返回示例 |
---|---|
yyyy-MM-dd |
2021-08-12 |
yyyyMM01 |
20210801 |
HH:mm:ss |
11:05:21 |
yyyyMMdd HH:mm:ss |
20210812 11:05:21 |
运行状态
变量名 | 描述 |
---|---|
all_success | 任务全部运行成功。 |
all_failed | 任务全部运行失败。 |
one_success | 一个任务节点运行成功。 |
one_failed | 一个任务节点运行失败。 |
说明 在条件分支节点中使用运行状态可以控制任务流在指定的运行状态下执行后续任务。
系统变量
变量名 | 描述 | 示例 |
---|---|---|
sys.flow.start.timestamp | 运行时间的时间戳。 | 2021-05-24T11:20:07.562+08:00 |
sys.flow.start.year | 运行时间的年份。 | 2021 |
sys.flow.start.month | 运行时间的月份。 | 5 |
sys.flow.start.day | 运行时间的日期。 | 24 |
sys.flow.start.hour | 运行时间的小时。 | 11 |
sys.flow.start.minute | 运行时间的分钟。 | 20 |
sys.flow.start.second | 运行时间的秒。 | 7 |
sys.flow.start.milliseconds | 运行时间的毫秒数。 | 562 |
sys.flow.start.timezone | 运行时间的时区。 | Asia/Shanghai |
sys.flow.biztime | 业务时间,默认为运行时间减一天。 | 1621740007562 |
sys.flow.name | 任务流名称。 | dwd_activity日pv |
sys.node.name | 任务名称。 | 单实例SQL-1 |