系统变量列表

你可以在路径和参数设置中使用变量,也可以直接在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}

  • 对于触发时间,表示上个星期。

  • 对于业务日期,表示业务日期减去6天。

YYYYMMDD

2017-05-26

20170520

${last_week10}

  • 对于触发时间,表示上个星期。

  • 对于业务日期,表示业务日期减去6天。

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}

  • 对于触发时间,表示之前的第n+1天。

  • 对于业务日期,表示之前的第n天。

YYYY-MM-DD

2017-05-26

2017-05-25

${cal_dt8-n}

  • 对于触发时间,表示之前的第n+1天。

  • 对于业务日期,表示之前的第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

2017-05-27 13:00:00

${instance_id}

当前实例ID

1495864241

${env.APP_CUSTOMER}

生成实例的组帐户

CLP

${env.APP_ID}

实例所属的App ID

a22b94f9-3b9d-40f6-9bd8-4d66b304d930