README.md 1.4 KB

dw_base/dq — 数据质量

职责

对仓内表做数据质量检查,产出结果报告 + 告警。覆盖维度:

  • 结构层:schema drift(字段/类型变更)、分区存在性
  • 值层:非空、唯一、值域、枚举、正则
  • 规模层:行数波动、环比/同比阈值
  • 关联层:主键冲突、外键孤儿、join 命中率

对外接口概要(规划中)

  • checks/ —— 各类规则实现
    • NotNullCheck(col) / UniqueCheck(cols) / ValueRangeCheck(col, min, max)
    • RowCountCheck(min, max) / RowCountDriftCheck(window_days, threshold)
    • SchemaDriftCheck(expected_schema) / PrimaryKeyCheck(pk_cols)
  • runner.run(table, dt) —— 读 conf/dq/<table>.ini → 跑声明的 checks → 汇总结果
  • 结果出口:
    • 失败 → 告警走 conf/alerter.ini
    • 全量落 Hive 表(便于趋势分析,表名待定)
  • 入口脚本 bin/dq-check.py本批不建

依赖

  • PySpark(SQL 查表统计)
  • conf/dq/*.ini(每张表一份规则声明)
  • conf/alerter.ini(告警接入)

状态

骨架(未启动)。实现顺序建议:

  1. 最小可用:RowCountCheck + NotNullCheck + 告警接入(跑通链路)
  2. SchemaDriftCheck + UniqueCheck(结构/唯一层)
  3. RowCountDriftCheck(需要历史表)
  4. join 命中率 / 枚举值检查(规则复杂,后做)

kb/90-重构路线.md 聚簇 D。