本包目录(311 条)

唯一性校验

唯一性校验确认业务键在目标粒度上不重复:按主键分组计数大于 1 即为重复;重复主要来自上游重跑叠加、关联放大与去重键选错。

方法业务键 GROUP BY 加 HAVING COUNT(1) > 1
常见粒度订单号、订单号加明细序号、日期加实体
输出重复组数与重复行数
处置定位上游是否重复写入或关联放大

重复检测

重复检测
SELECT order_id, item_no, COUNT(1) AS c
FROM dwd_trade_order_detail_di
WHERE dt = '2026-10-11'
GROUP BY order_id, item_no
HAVING COUNT(1) > 1
ORDER BY c DESC
LIMIT 20;

重复总量统计

重复总量统计
SELECT COUNT(1) AS dup_groups, SUM(c - 1) AS extra_rows
FROM (
  SELECT order_id, item_no, COUNT(1) AS c
  FROM dwd_trade_order_detail_di WHERE dt='2026-10-11'
  GROUP BY order_id, item_no HAVING COUNT(1) > 1
) t;
发现重复先别急着去重:定位重复来源(重跑、放大、源端重复)才能防止明天再次出现。

易错点

  • 用 DISTINCT 掩盖重复,掩盖了上游双写的事实
  • 去重键选错(漏掉明细序号),把正常的明细行判定为重复

数据来源与参考

  • Kimball《The Data Warehouse Toolkit》粒度与唯一性
  • 行业数据质量校验实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌