系统变量列表¶
你可以在路径和参数设置中使用变量,也可以直接在SHELL脚本中使用变量。
例如,配置从EnOS Hive同步数据到目标数据库的数据同步任务,在指定分区时,选择 占位符 为指定分区的方式,然后输入相应的系统变量名。系统将根据指定的变量加载分区信息。
业务相关变量 ¶
在开始使用业务相关的变量之前,需了解以下关键概念:
触发时间:触发任务流的日期。可以为手动触发任务流的时间,也可以为设置的自动触发任务流的时间。
业务时间: 任务流所处理的数据的日期。通常,业务日期为触发时间减去一天(因为默认情况下任务流是对前一天的数据执行处理操作)。
例如,当该任务流的触发时间为 2017-05-27 13:50:00
,周期被设置为一天。那么在 2017-05-27 13:50:00
这个时间点被触发的任务流处理的数据为业务日期 2017-05-26
当天的数据。同样的,如果要处理业务日期 2018-03-01
当天的数据,则触发时间需设置为 2018-03-02
这天的某个时间点。
下表使用触发时间 2017-05-27 13:50:00
为例来说明业务相关变量。
变量 |
描述 |
格式 |
业务时间 |
变量值 |
---|---|---|---|---|
${last_week8} |
|
YYYYMMDD |
2017-05-26 |
20170520 |
${last_week10} |
|
YYYY-MM-DD |
2017-05-26 |
2017-05-20 |
${cal_dt} |
|
YYYY-MM-DD |
2017-05-26 |
2017-05-26 |
${cal_dt8} |
|
YYYYMMDD |
2017-05-26 |
20170526 |
${cal_dt-n} |
|
YYYY-MM-DD |
2017-05-26 |
2017-05-25 |
${cal_dt8-n} |
|
YYYYMMDD |
2017-05-26 |
20170525 |
${ncal_dt} |
|
YYYY-MM-DD |
2017-05-26 |
2017-05-27 |
${ncal_dt8} |
|
YYYYMMDD |
2017-05-26 |
20170527 |
${end_day_this_month8} |
对于业务日期,表示本月最后一天。 |
YYYYMMDD |
2017-05-26 |
20170531 |
${end_day_this_month10} |
对于业务日期,表示本月最后一天。 |
YYYY-MM-DD |
2017-05-26 |
2017-05-31 |
${first_day_this_month8} |
对于业务日期,表示本月第一天。 |
YYYYMMDD |
2017-05-26 |
20170501 |
${first_day_this_month10} |
对于业务日期,表示本月第一天。 |
YYYY-MM-DD |
2017-05-26 |
2017-05-01 |
${first_day_last_month8} |
对于业务日期,表示上月第一天。 |
YYYYMMDD |
2017-05-26 |
20170401 |
${first_day_last_month10} |
对于业务日期,表示上月第一天。 |
YYYY-MM-DD |
2017-05-26 |
2017-04-01 |
${last_day_last_month8} |
对于业务日期,表示上月最后一天。 |
YYYYMMDD |
2017-05-26 |
20170430 |
${last_day_last_month10} |
对于业务日期,表示上月最后一天。 |
YYYY-MM-DD |
2017-05-26 |
2017-04-30 |
${monday_next_week8} |
对于业务日期,表示下个星期一。 |
YYYYMMDD |
2017-05-26 |
20170529 |
${monday_next_week10} |
对于业务日期,表示下个星期一。 |
YYYY-MM-DD |
2017-05-26 |
2017-05-29 |
${30days_cal_dt} |
对于业务日期,表示30天之前。 |
YYYY-MM-DD |
2017-05-26 |
2017-04-26 |
${hcal_dt8} |
对于业务时间,表示1小时之前,变量值为当前日期。 |
YYYYMMDD |
2017-05-26 00:30:00 |
20170525 |
${cal_hr} |
对于业务时间,表示1小时之前,变量值为当前小时。 |
HH |
2017-05-26 00:30:00 |
23 |
时间相关变量 ¶
下表使用触发时间2017-05-27 13:50:00
作为列子来说明时间相关变量。
变量 |
描述 |
变量值 |
---|---|---|
${this_hour} |
出发任务流的时间(小时为单位) |
2017-05-27 13:00:00 |
${unix_timestamp} |
对应Unix时间的触发时间 |
1495864241 |
非时间相关变量 ¶
变量 |
描述 |
变量值 |
---|---|---|
${task_id} |
当前实例的任务ID |
9740 |
${instance_id} |
当前实例ID |
9195-20210323075800 |
${env.APP_CUSTOMER} |
生成实例的组帐户 |
CLP |
${env.APP_ID} |
实例所属的App ID |
a22b94f9-3b9d-40f6-9bd8-4d66b304d930 |