| 推荐 | 输出按分区覆盖(INSERT OVERWRITE PARTITION) |
|---|---|
| 次选 | 按主键 upsert / MERGE |
| 避免 | 依赖上次运行状态的累加逻辑 |
分区覆盖重跑
分区覆盖重跑
-- 重跑 2026-10-11 分区:先写该分区,覆盖旧结果
INSERT OVERWRITE TABLE ads_sales_daily PARTITION (dt = '2026-10-11')
SELECT dt, channel, SUM(amount)
FROM dwd_order WHERE dt = '2026-10-11'
GROUP BY dt, channel;重跑前先确认输出分区不会被其他并发任务覆盖;跨任务写同一分区时加调度依赖或互斥。