|
@@ -3,7 +3,9 @@
|
|
|
-- 工单:(无)
|
|
-- 工单:(无)
|
|
|
-- 目的:一次性 seed 订单全量最新态表——扫全部 ods inc 分区,按 id 取最新一版,写 full dt=${dt}
|
|
-- 目的:一次性 seed 订单全量最新态表——扫全部 ods inc 分区,按 id 取最新一版,写 full dt=${dt}
|
|
|
-- 状态:[待执行]
|
|
-- 状态:[待执行]
|
|
|
--- 备注:merge 模式需要一个起点,本脚本就是那个起点,只跑一次;之后由
|
|
|
|
|
|
|
+-- 备注:`WHERE dt <= '${dt}'` 保证 full dt=D 的语义 = "截至业务日 D 结束时的最新态",
|
|
|
|
|
+-- 不会把 D 之后的变更算进来;因此可 seed 到任意历史日。
|
|
|
|
|
+-- merge 模式需要一个起点,本脚本就是那个起点,只跑一次;之后由
|
|
|
-- jobs/ods/trd/ods_trd_card_group_order_info_ful_d.sql 天天 merge 递推。
|
|
-- jobs/ods/trd/ods_trd_card_group_order_info_ful_d.sql 天天 merge 递推。
|
|
|
-- 排序键 COALESCE(update_time, create_time) 与 ods 的 ods_dt 归位口径一致。
|
|
-- 排序键 COALESCE(update_time, create_time) 与 ods 的 ods_dt 归位口径一致。
|
|
|
-- 静态分区写入(PARTITION(dt='${dt}')):源=inc、目标=full,不同表,无读写冲突。
|
|
-- 静态分区写入(PARTITION(dt='${dt}')):源=inc、目标=full,不同表,无读写冲突。
|
|
@@ -34,5 +36,6 @@ FROM (
|
|
|
SELECT *,
|
|
SELECT *,
|
|
|
ROW_NUMBER() OVER (PARTITION BY id ORDER BY COALESCE(update_time, create_time) DESC) AS rn
|
|
ROW_NUMBER() OVER (PARTITION BY id ORDER BY COALESCE(update_time, create_time) DESC) AS rn
|
|
|
FROM ods.ods_trd_card_group_order_info_inc_d
|
|
FROM ods.ods_trd_card_group_order_info_inc_d
|
|
|
|
|
+ WHERE dt <= '${dt}'
|
|
|
) t
|
|
) t
|
|
|
WHERE t.rn = 1;
|
|
WHERE t.rn = 1;
|