数据质量

一、规划

  1. 长期:基于Spark RDD,统一封装框架,支持多种监控项的配置,减轻数据核对的成本;
  2. 短期:需要梳理核心监控指标,以HQL为主,保证当前的数据质量;
  3. 范围:只包括基础事实表、维度表的数据质量验证;

二、校验类型

  1. 数据量是否一致(统计):比如:传统数仓比大数据多了多少条?差异是什么?
  2. 度量值汇总是否一致(统计):比如:交易金额(借贷记两个方向)的合计是否一致?差异是什么?
  3. 关联结果检验(统计):事实表与相关维度表join后的统计值是否一致,比如:fact表与dim_filesource关联后,groupby境内外标识,做聚合操作;
  4. 数据明细是否一致(明细):同一维度表,传统数仓与大数据数仓随机抽样50~100条,字段信息描述是否一致,如果不一致,需描述根因;
  5. 跨层清洗一致性(流程):同一事实表,ODS、DWD、DWS数据条数是否一致(文件级别)?三层字段映射是存在问题?
  6. 数据标准检测(标准):如:差错类型码、交易处理码、mcc等标准码值,需分析出是否与标准定义有差异?并定位差异根因,涉及维度表与事实表;
  7. 关键业务指标(流程 & 统计):联合BSA(KIKI年前已提供),完善基础核心指标的分层实现,并校验结果是否一致;
  8. 数据匹配是否一致(明细):如:交易类型,抽样约100条数据,跨库访问验证是否存在差异,需提供测试案例进行自动化对比(例如:Junit工具);
  9. 终态 vs 拉链(流程):是否存在终态值在scd中不存在的情况?拉链表是否存在断链的情况?
  10. 脏数据检验(基础):是否存在空字符串?电话号码非法?时间字段非法?
  11. 数据重复性检验(基础):同一文件是否存在数据重复?原因是什么?同一维度表是否存在业务主键重复的情况;
  12. ???其它

三、工具要求

  1. 统计分析类要求:需完成相关任务的开发,定时运行产出统计分析结果;
  2. 流程监控类要求:需完成相关任务的开发,定时运行产出统计分析结果;
  3. 明细核对类要求:需联合sqoop,同步抽样的数据到hive,并自动核对结果;
  4. 标准类核对要求:需从spec中,采集相关标准定义的码值,并实现从事实表、维度表中,自动采集数据模型中的实际码值,做交叉核对;
  5. 基础架构要求:长期来看,尽量采用开源已有框架,做二次封装,基于Spark Job来做,短期人工为主,需要梳理核心校验项;
  6. 自动化要求:需完全自动化;定时发送质量报告;
posted @ 2023-05-17 16:28  香媛  阅读(60)  评论(0编辑  收藏  举报