| 写入 | 按分区 INSERT OVERWRITE |
|---|---|
| 去重 | 业务唯一键 + 更新时间 |
| 校验 | count 对比 distinct 键 |
分区去重写入
分区去重写入
INSERT OVERWRITE TABLE dwd_order PARTITION (dt = '2026-10-12')
SELECT t.order_id, t.user_id, t.amount, t.update_ts
FROM (
SELECT o.*, row_number() OVER (PARTITION BY order_id ORDER BY update_ts DESC) AS rn
FROM ods_order o WHERE o.dt = '2026-10-12'
) t WHERE t.rn = 1;去重键必须是业务唯一键(如 order_id),没有唯一键的表要在设计阶段补上幂等键。