系统内置变量
Recurve 产品内提供多种内置变量,可以基于调度时间定义数据范围
内置变量
data_interval_start
datetime.datetime
表示当前调度批次所处理的数据范围的开始时间,结合调度周期来确定。
data_interval_end
datetime.datetime
表示当前调度批次所处理的数据范围的结束时间,结合调度周期来确定。
logical_date
datetime.datetime
表示调度批次的逻辑时间,通常与 data_interval_end
相等
dt
datetime.date
logical_date
的日期部分
yesterday
datetime.datetime
logical_date
的前一天,在日度任务中有用,其他周期不要使用
yesterday_dt
datetime.date
yesterday
的日期部分
tomorrow
datetime.datetime
logical_date
的后一天,在日度任务中有用,其他周期不要使用
tomorrow_dt
datetime.date
tomorrow
的日期部分
以每天 10 点运行的日度任务为例,在 2025-02-01 这一天,各个变量的值为:
data_interval_start
:是 T-1 的 10 点,即2025-01-31 10:00:00
data_interval_end
:是 T 的 10 点,即2025-02-01 10:00:00
(同理,如果是周度、月度的,data_interval_end
就是本次调度度的逻辑时间(不是系统时间),data_interval_start
就是上一个周期)logical_date
:2025-02-01 10:00:00
dt
:2025-02-01
yesterday
:2025-01-31 10:00:00
yesterday_dt
:2025-01-31
tomorrow
:2025-02-02 10:00:00
tomorrow_dt
:2025-02-02
以每月 1 号 10点运行月度任务为例,在 2025-02-01 这一天,各个变量的值为:
data_interval_start
:表示 1 月 1 日 10 点,即2025-01-01 10:00:00
data_interval_end
:2025-02-01 10:00:00
logical_date
:2025-02-01 10:00:00
dt
:2025-02-01
以下几个变量是方便在日度任务中使用的,在月度(及其他)任务中仍然有值,但是通常没有实际用途,建议不要使用。
yesterday
:2025-01-31 10:00:00
yesterday_dt
:2025-01-31
tomorrow
:2025-02-02 10:00:00
tomorrow_dt
:2025-02-02
使用系统变量
你可以在数据模型、高级管道中使用这些系统变量,在代码中使用 {{ var("变量名称") }}
例如:在数据建模中增量更新当天的数据
通常建议使用 data_interval_start
和 data_interval_end
来圈定数据范围,因为能根据调度周期自动灵活调整。可以使用这两个时间进行演变,得到其他格式,如:
Last updated