Parcourir la source

docs(kb/93): ADR-11 补数参数对齐 start_date/stop_date 左闭右开

参数描述 start→start_date/stop_date(=cdt) 左闭右开,rawScript 用 -p
传不用 -dt,dim join 用 stop_date-1。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tianyu.chu il y a 1 semaine
Parent
commit
9bc5b2dc1f
1 fichiers modifiés avec 11 ajouts et 6 suppressions
  1. 11 6
      kb/93-架构决策.md

+ 11 - 6
kb/93-架构决策.md

@@ -449,13 +449,18 @@
 - **决策**:dwd 补数走独立任务流,与日调度(ADR-09)分离。核心是 **宽扫窄落** —— ods.dt 宽扫(捞回漂移到后续分区的版本)、payment 业务时间窄落(锁定覆盖哪些 dwd 分区):
 
   - 独立 SQL `jobs/dwd/trd/dwd_trd_order_pay_apd_d_backfill.sql`
-  - 独立 DS workflow,手动触发**只传 `start`**(end 隐含昨日),不挂 schedule,不加 DEPENDENT
-  - payment 业务时间过滤 `[start, today-1]`(补到最后完整业务日;today 当天不落,交日调度)
-  - ods.dt 扫描 `[start-1, 不限]`:
-    - 下界 `start-1`:往前 1 天对齐 ADR-09 日调度 pdt buffer(cover create_time 早于 payment 落前一天的边缘)
-    - 上界不限:扫到 ods 最新分区(today)。payment ∈ [start, today-1] 的订单,其 ods 版本落点必 ≤ today,故全部捞到 —— 不依赖"猜漂移天数"
+  - 独立 DS workflow,手动触发,不挂 schedule,不加 DEPENDENT
+  - 参数(对齐 DataX `start_date`/`stop_date` 左闭右开范围惯例,下划线):
+    - `${start_date}`:workflow 启动参数(补数起始日)
+    - `${stop_date}`:取 `${cdt}`(DS globalParam=today),左闭右开 `< stop_date` 即覆盖到 today-1(当天不落交日调度)
+    - rawScript:`spark-sql-starter.py -f <backfill.sql> -p start_date=${start_date} -p stop_date=${cdt}`(不传 `-dt`,SQL 不用 `${dt}`)
+  - payment 业务时间窄落 `[${start_date}, ${stop_date})` 左闭右开
+  - ods.dt 扫描 `[${start_date}-1, 不限]`:
+    - 下界 `start_date-1`:往前 1 天对齐 ADR-09 日调度 pdt buffer(cover create_time 早于 payment 落前一天的边缘)
+    - 上界不限:扫到 ods 最新分区。payment ∈ 范围内的订单,其 ods 版本落点必 ≤ 最新,故全部捞到 —— 不依赖"猜漂移天数"
+  - dim 退化 join 用 `${stop_date}-1`(=today-1=最新 dim 快照分区)
   - 范围内每个 dwd 分区全覆盖(`INSERT OVERWRITE` 冲掉旧 / 缺失版本)
-  - 前提:ods 已补到 today-1(raw_ods 补数到位 / 今日 sche 已跑)—— dwd 补数从 ods 重新归位,ods 有多少落多少
+  - 前提:ods 已补到 today-1 + dim_trd 补到 today-1(dwd 补数从 ods 重新归位、退化 join 最新 dim)
 
 - **后果**: