|
|
@@ -1,10 +1,11 @@
|
|
|
-- 作者:tianyu.chu
|
|
|
-- 日期:2026-05-07
|
|
|
-- 工单:(无)
|
|
|
--- 目的:raw → ods 增量同步(ADR-03);双源 union (raw dt=${dt} + raw dt=${pdt}) + create 日 OR 变更日 = ${dt} 过滤 + 按运行日 ${dt} 分桶(dt=活动日:创建日∪变更日)+ (id) dedupe + 动态分区写入
|
|
|
+-- 目的:raw → ods 增量同步(ADR-03);双源 union (raw dt=${dt} + raw dt=${pdt}) + create 日 OR 活动日 = ${dt} 过滤 + 按运行日 ${dt} 分桶(dt=活动日:创建日∪活动日)+ (id) dedupe + 动态分区写入
|
|
|
-- 状态:[草案]
|
|
|
-- 备注:sched=T,${dt}=业务日 T-1(yyyyMMdd),${pdt}=T-2;ods 跨 dt 不去重,同 pk 多 dt 并存(拉链表底层);
|
|
|
--- dt=活动日(创建日∪变更日):每单在创建日与各变更日分区各留一份,「创建于 D」确定性落 D 分区;
|
|
|
+-- dt=活动日(创建日∪活动日):活动日 = GREATEST(create, update)(兼容后端 update<create 脏单,取较晚者,永不早于 create);
|
|
|
+-- 每单在创建日与活动日分区各留一份,「创建于 D」确定性落 D;
|
|
|
-- create 份态取 raw 首抽态(正常日调度≈初态;边界/补数可能已含当窗改动,拉链按值去重);
|
|
|
-- 订单表 his_o 历史灌入由 manual/backfill/ods_trd_card_group_order_info_init.sql 一次性处理,本调度只读 inc_d
|
|
|
|
|
|
@@ -108,11 +109,11 @@ FROM (
|
|
|
'${dt}' AS ods_dt,
|
|
|
ROW_NUMBER() OVER (
|
|
|
PARTITION BY id
|
|
|
- ORDER BY COALESCE(NULLIF(update_time, ''), create_time) DESC
|
|
|
+ ORDER BY GREATEST(create_time, NULLIF(update_time, '')) DESC
|
|
|
) AS rn
|
|
|
FROM raw.raw_trd_card_group_order_info_inc_d
|
|
|
WHERE dt IN ('${dt}', '${pdt}')
|
|
|
AND ( DATE_FORMAT(create_time, 'yyyyMMdd') = '${dt}'
|
|
|
- OR DATE_FORMAT(COALESCE(NULLIF(update_time, ''), create_time), 'yyyyMMdd') = '${dt}' )
|
|
|
+ OR DATE_FORMAT(GREATEST(create_time, NULLIF(update_time, '')), 'yyyyMMdd') = '${dt}' )
|
|
|
) t
|
|
|
WHERE t.rn = 1;
|