首页/数据/数仓建模速查/迟到数据的分区修正
维度与事实设计149 条

迟到数据的分区修正

按事件时间分区的事实表收到迟到数据时,重写受影响分区而不是直接 append:先锁定受影响日期集合,再整分区替换。

数仓建模速查数据更新于 2026-10-12
策略重写受影响分区
语法动态分区 INSERT OVERWRITE
范围尽量收窄到必要日期

分区重写

分区重写
INSERT OVERWRITE TABLE dwd_order PARTITION (dt)
SELECT order_id, user_id, amount, update_ts, dt
FROM stg_order_late
WHERE dt IN ('2026-10-09', '2026-10-11');
-- 执行前先备份受影响分区或保留快照
分区重写要评估下游对历史分区的依赖与快照隔离能力。

易错点

  • 直接 append 迟到数据,同键多条并存
  • 重写范围过大,非受影响日期数据被覆盖

数据来源与参考

  • Spark SQL 参考:动态分区覆写;数仓实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌