本文介绍任务编排功能涉及的变量。
变量介绍
变量是任务流中动态的值,分为系统变量、时间变量、非时间变量,均可以在节点中以${varName}
的形式动态引用。
系统变量
系统预定义的变量。例如当前任务流ID、任务流的运行时间等。
除系统变量外,其他变量统称为自定义变量,自定义变量名不可重复定义,若自定义变量和系统变量重名,则自定义变量的值会覆盖系统变量的值,即自定义变量的优先级更高。
时间变量
任务流变量(全局变量):任务流变量基于业务时间(运行时间的前一天)进行偏移,在当前任务流的所有节点都可使用。
说明您可以给任务流中的任一节点设置任务流变量,其他节点会自动同步该设置。
节点变量:定义时间变量的方式是基于系统内置的时间变量bizdate(T-1)进行偏移。节点变量只能在该节点中使用。
例如当前日期为2023年08月22日,变量的时间格式调整为+1日,则此时间变量表示2023年08月23日。
非时间变量
任务流常量(全局变量):任务流常量为固定值,在当前任务流的所有节点中都可使用。
输入变量:系统自动获取。您可使用 ${var_name} 的形式在当前节点的SQL语句中引用输入变量,或者将输入变量用于条件分支节点中作为判断变量。输入变量包括:
输出变量:输出变量由当前节点定义并赋值,可被下游节点查看和引用。
例如,在脚本代码节点中增加输出变量,该输出变量可以在下游节点的SQL语句中被引用。
单实例SQL赋值输出变量:通过该节点定义SQL查询的结果集,用该结果集充当二维矩阵,在变量定义过程中任意取出一个元素,或者基于任意一个行向量i、列向量j做基于字符的拼接。
脚本输出变量:如果脚本最后一行输出的是JSON结构数据,结构格式为
{ key1: value1, key2: value2, … }
,且value是String类型,脚本任务会自动获取JSON键值对,解析出变量名为key的变量,变量key的值为value。变量的引用方式为${key}
。例如,脚本的最后一行是
echo {"hello": "world"}
,那么脚本任务会解析出变量hello,变量hello的值为world。
配置时间变量
配置项 | 说明 |
变量名 | 输入自定义变量的名称。 说明 如需删除已配置的变量,您可以单击右侧的。 |
变量规则 | 配置时间变量的规则。
说明 配置时间变量后,您可以在SQL语句中引用该变量,格式为 |
时间格式
变量支持的时间格式如下:
时间变量 | 描述 | 输入示例 | 返回示例 |
公元 | 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 |
时间格式的组合示例:
输入示例 | 返回示例 |
| 2021-08-12 |
| 20210801 |
| 11:05:21 |
| 20210812 11:05:21 |
系统变量
变量名 | 描述 | 示例 |
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 |
运行状态
变量名 | 描述 |
all_success | 任务全部运行成功。 |
all_failed | 任务全部运行失败。 |
one_success | 一个任务节点运行成功。 |
one_failed | 一个任务节点运行失败。 |
在条件分支节点中使用运行状态可以控制任务流在指定的运行状态下执行后续任务。