首页/数据/数据工程与 ETL 速查/Spark 聚合式质量校验
本包目录(311 条)

Spark 聚合式质量校验

不引入额外框架时,用一个 Spark SQL 聚合作业即可一次扫描产出多项质量指标:行数、空值数、负值数、重复数;结果写入稽核表并按天与基线对比,比单一绝对阈值更早发现异常。

一次扫描算多指标

一次扫描算多指标
SELECT
  COUNT(*) AS cnt,
  SUM(CASE WHEN order_id IS NULL THEN 1 ELSE 0 END) AS null_pk,
  SUM(CASE WHEN amount < 0 THEN 1 ELSE 0 END)      AS neg_amount,
  COUNT(*) - COUNT(DISTINCT order_id)              AS dup_pk
FROM ods_orders
WHERE dt = '2026-10-11';
COUNT(DISTINCT) 在大表上开销较高:先做分区裁剪,必要时改为 group by 后的聚合再统计。

易错点

  • 校验 SQL 与业务口径不一致(把测试单、冲正单算进去),指标天然偏差
  • 指标没有历史留存,无法判断今天是真异常还是正常波动

数据来源与参考

  • Apache Spark 官方文档(SQL 聚合函数)
  • 行业数据质量稽核实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌