| 全量 | 每次抽整表,天然覆盖删除与历史修正 |
|---|---|
| 增量 | 只抽变化行,依赖更新时间列或 CDC |
| 混合 | 首次全量 + 每日增量 + 周期性全量校验 |
全量覆盖
全量覆盖
-- 每天重刷当日快照(维表常用)
INSERT OVERWRITE TABLE dim_user
SELECT * FROM ods_user_full WHERE dt = '2026-10-11';增量合并
增量合并
-- 以主键合并增量(upsert 语义)
MERGE INTO dwd_order t USING ods_order_delta s
ON t.order_id = s.order_id
WHEN MATCHED THEN UPDATE SET t.amount = s.amount, t.updated_at = s.updated_at
WHEN NOT MATCHED THEN INSERT (order_id, amount, updated_at)
VALUES (s.order_id, s.amount, s.updated_at);增量抽取无法感知物理删除,除非使用 CDC 或周期性全量比对补 delete。