首页/数据/数据工程与 ETL 速查/业务日期与运行时间

业务日期与运行时间

业务日期(数据属于哪一天)与运行时间(任务实际几点跑)是两个概念:日批通常运行在 T+1,处理的是 T 日数据;补数时尤其要区分,否则会错位覆盖。

业务日期 bizdate数据归属日期,日批常为昨天
运行时间调度实际触发的时刻
传递方式调度参数(如 ${bizdate} / {{ ds }})注入 SQL

参数传递示例

参数传递示例
-- 每天 02:00 跑的 SQL,dt 是业务日期而不是运行日期
SELECT * FROM ods_orders
WHERE dt = '${bizdate}';   -- 例:2026-10-11(跑在 10-12 凌晨)
把“当前日期 -1 天”写死在 SQL 里,补数历史日期时会算错;统一用调度参数注入。

易错点

  • 跨天任务要确认归属日:23:50 开始跑到次日 00:20 的任务属于哪一天要有明确约定
  • 时区不同(本地 vs UTC)会让 bizdate 偏移一天

数据来源与参考

  • Apache Airflow 官方文档:Data Interval 与 Templates
  • Apache DolphinScheduler 官方文档:内置参数
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌