ReOrc docs
Get ReOrc
简体中文
简体中文
  • 欢迎使用 Reorc
  • 设置与部署
    • 设置组织
    • 安装 Reorc-agent
  • 快速开始
    • 1. 添加连接源
    • 2. 创建项目
    • 3. 创建数据模型
    • 4. 验证数据处理流程
    • 5. 创建数据管道和调度任务
  • 连接
    • 目标数据库
    • 项目连接管理
  • 数据建模
    • 概述
    • 数据源
    • 模型
      • 宏
      • 物化
      • 模型配置
    • 字段列表
    • 数据血缘
    • 数据库特定配置
      • SelectDB(Doris)
  • 语义层建模
    • 概述
    • 语义层模型 (Cube)
      • 自定义维度
      • 自定义指标
        • 聚合计算函数
    • 语义层视图 (View)
    • 模型关系 (Relationship)
    • BI 接入方式
  • 数据摄入
    • 概述
    • 连接源类型
      • 从数据库获取数据
      • MySQL
      • SelectDB(Doris)
    • 数据转换(Transform)
  • 数据管道
    • 概述
    • 建模管道
    • 任务调度
  • 进阶用法
    • Jinja 模板
    • 变量
      • 系统内置变量
      • 项目内自定义变量
  • 健康监测
    • 数据管道健康
  • 资产管理
    • 元数据
    • 版本历史
    • dbt 包和项目依赖
  • 数据服务
    • 概述
    • 创建和编辑
    • 数据预览和下载
    • 权限管理
    • 开放 API
  • 数据安全
    • 数据脱敏
  • 设置
    • 组织设置
    • 项目设置
    • 个人设置
    • 角色和权限设置
Powered by GitBook
On this page
  • 内置变量
  • 使用系统变量
  1. 进阶用法
  2. 变量

系统内置变量

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("变量名称") }}

例如:在数据建模中增量更新当天的数据

 select ...
 from {{ source("jaffle_shop", "raw_orders") }}
 where dt = {{ var('dt') }}

通常建议使用 data_interval_start 和 data_interval_end 来圈定数据范围,因为能根据调度周期自动灵活调整。可以使用这两个时间进行演变,得到其他格式,如:

# 获取日期部分,返回 datetime.date 类型,date(2025, 1, 1)
{{ var("data_interval_start").date() }}

# 格式化为 `20250101`,结果是个字符串
{{ var("data_interval_start").strftime("%Y%m%d") }}

Previous变量Next项目内自定义变量

Last updated 3 months ago