暂时定义为数仓的质量管理,完全可以定义为数据中台的质量管理
数据质量的理解
- 数据质量的高低代表了该数据满足数据消费者期望的程度,这种程度基于他们对数据的使用预期。数据质量必须是可测量的,把测量的结果转化为可以理解的和可重复的数字,使我们能够在不同对象之间和跨越不同时间进行比较。 数据质量管理是通过计划、实施和控制活动,运用质量管理技术度量、评估、改进,进而保证数据的恰当使用。
数据质量维度
也有说是6个维度的,本文是5个维度
- 完备性(也可以理解为准确性)
- 有效性
- 及时性
- 一致性
- 完整性
气泡图如下所示:
其中,ODS层主要完整性、有效性、及时性;
DW层主要是完整性、一致性、有效性、完备性;
APP层主要是完备性、及时性。
问题反馈流程
数据核查人员--->>>数据清洗人员---->>>数据开发人员--->>>修复、测试、上线--->>>添加至数据问题库--->>>数据核查人员
数据质量治理的三个阶段
- 被动问题治理阶段
- 主动问题发现阶段
-
预防出现问题阶段
数据质量产生的根本原因
源系统
01-源系统数据结构发生变更;
02-源系统业务流程发生变更;
03-源系统数据录入错误或者延迟;
04-源系统随着时间的推移,数据发生了演变;
05-源系统数据发生震荡;
ETL系统
01-需求不明确或者是没有满足客户需求;
02-ETL映射规则错误;
03-ETL程序错误;
04-数据没有及时到达或者依赖错误;
定时调度系统
01-调度系统因数据延迟到达严重延迟;
02-调度系统自身故障;
业务需求
01-随着时间的推移,数据需求发生了变化;
02-源系统和源业务需求发生冲突;
数据质量治理的对象
推荐学习博客 数据中台专栏(三):数据质量分析及提升
数据质量战略
- 大多数企业都没有一个数据战略,因为他们不理解其数据的价值,并且他们不认为数据是一个组织的资产,而把数据看作创建它的部门领域内的东西。
- 缺乏数据战略将导致脏数据、冗余数据、数据不一致、无法整合、性能底下、可用性差、责任缺失、用户日益不满意IT的性能。
数据质量战略12条指令
- 指令主要分为三组:
- 第一组着眼于数据在企业内的重要性,并需要由高级管理层来推动。
- 第二组把制造实物产品的概念应用到数据上,它们应该由数据质量项目团队推动。
- 第三组的重点是建设质量文化,以应对数据的流体性质并满足战略管理的持续挑战。
具体如下所示:
第一组
01-获取管理层对数据质量的承若;
02-把数据当作资产;
03-应用资源来注重质量;
04-建立数据的元数据;
第二组
05-把数据当作可测量和可改进的流程的一个产品(重点落地到产品);
06-认识到数据质量是由数据消费者定义的;
07-解决造成数据质量的根本原因;
08-测试数据质量,监控关键数据;
第三组
09-保证数据生成者对自己的数据质量和元数据负责;
10-为数据消费者提供他们所需要的数据知识;
11-为数据的演进做规划;
12-构建数据质量超越数据本身的质量文化。
数据质量测试框架
最初的一次评估
- 初步评估通过数据剖析来完成的,数据剖析通常在准备把数据存入数据仓库是做一次,它是全面和跨数据集的,它描述了数据结构、内容、规则、和关系的概况。通过应用统计方法返回一组关于数据的标准特征,包括数据类型、字段长度、列基数、粒度、值域、格式模式、隐含的规则、跨列和跨表的数据关系,以及这些关系的基数。初步评估的目的是获得对数据和环境的了解,并对数据的状况进行描述。
数据剖析包括:
初步评估执行流程
初步评估的结果与交互结果
01-源系统的业务流程;
02-源系统的技术流程;
03-对数据模型的改进建议;
04-源系统改进机会的评估总结;
05-对元数据和参考数据的改进建议;
06-用于持续测量和控制的计划;
持续测量流程
持续测量的结果与交付结果
01-完备性总结;
02-有效性总结;
03-一致性总结;
04-数据流程效率总结;
05-对持续发现的问题进行跟踪;
06-对改进的步骤进行结果验证;
过程控制解决方案
推荐学习博客 关于数据仓库数据质量的问题处理
这一点主要是处理ETL过程中
通常情况下,当我们遇到错误数据, ETL 一般提供以下 4 种解决办法:
1、没有任何处理的通过记录
2、通过记录,打上错误标记
3、拒绝记录
4、停止 ETL 任务下面就这几种情况进行一下分析:
首先选项 1明显不能保证数据质量,并将最终影响报表质量。
其次选项 3也不能保证数据完整性,因为数据将发生遗弃,也将会影响报表质量。
再次选项 4会影响 ETL处理,导致数据仓库不能正常运行下去。
所以,最常见的处理方式就是选项 2,首先保证这些记录顺利通过,然后记录一些错误标志,并通过报表反映出来。这样做有以下四种好处:
1、通过特殊处理确保了数据的完整性
2、反映了数据仓库的数据源数据质量
3、对数据质量可以有一个比较准确的度量
4、确保了数据仓库的顺利实施和任务的正常调度
数据质量应该尽量确保在 ETL 环节中进行,因为每一点的错误都会导致后续处理的无限放大,同时数据仓库的处理是线性进行的,当发现错误时,很难回过头来对数据进行重新的处理。因此尽量把错误和数据质量问题消除在靠前的位置。
定期测量
- 针对非关键性数据和不适合持续测量的数据,定期重新评估为数据所处状态符合预期提供一定程度的保证。定期评估可以确保参考数据保持最新,关系依然稳定,并且业务和技术演进不会导致意外的数据更改。
测试类型清单参考
数据质量监控软件
- 推荐学习一下Apache Griffin(Ebay开源数据质量监控平台),2018年12月成了Apache顶级项目
具体监测案例
推荐学习博客 ### 数据质量监控 - 晨柳溪 - 博客园
参考博客: 数据仓库(六)之数据质量篇 https://blog.csdn.net/weixin_44033089/article/details/87511165
聊聊大数据质量监控的那些事 https://zhuanlan.zhihu.com/p/41679658
数据中台专栏(三):数据质量分析及提升 https://yq.aliyun.com/articles/604574?spm=a2c4e.11155435.0.0.723c4bf76PGu1h