数据治理之数据质量管理

一.数据质量基本概念

       数据质量管理是指为了满足信息利用的需要,对信息系统的各个信息采集点进行规范,包括建立模式化的操作规程、原始信息的校验、错误信息的反馈、矫正等一系列的过程。

  • 数据质量管理不是一时的数据治理手段,而是循环的管理过程
  • 数据质量管理不仅包含了对数据质量的改善,同时还包含了对组织的改善

为什么有这么多人强调改善数据质量管理的重要性,用一种很抽象的比喻描述,如果把整个数据应用比作人体的话,那好的数据就相当于新鲜和沸腾的血液,能让我们的身体充满活力,高效地工作思考。而质量差的血液携带废物和毒素,随着毒素越积越多,血液以及血管就会发生病变,血液流经的全身各处器官也会大受影响

二.影响因素

数据问题的来源可能产生于从数据源头到数据存储介质的各个环节。在数据采集阶段,数据的真实性、准确性、完整性、时效性都会影响数据质量。除此之外,数据的加工、存储过程都有可能涉及对原始数据的修改,从而引发数据的质量问题。所以,技术、流程、管理等多方面的因素都有可能会影响到数据质量。

在企业中,随着企业业务的增长,数据也是一个增量积累的过程。随着数据类型、数据来源的不断丰富以及数据数量的快速增长,企业在数据管理工作和数据流程中面临越来越多的数据质量问题。而且数据质量的管理并没有被企业重视起来,其根本原因还是ROI并没有那么明显。

数据质量管理相对来说成本比较高。因为它涉及到企业数据标准的制定、规范的落地、生命周期的管理等多个环节。从收益上来说,数据质量的效益和结果并不是十分明显,大部分企业不会把数据质量作为KPI。在企业的不同系统中,业务领域的关键指标不一致,数据无法共享导致出现数据孤岛,大量数据无法关联,并且有明显的数据冗余等问题,还有数据的维护需要投入大量的人员、时间、软硬件成本。所以数据的质量管理往往被会边缘化甚至趋向于无。

在此附上数据的生命周期图,包括各环节的数据流转和数据处理。

三.评估维度

  1. 完整性
    数据完整性问题包括:模型设计不完整,例如:唯一性约束不完整、参照不完整;数据条目不完整,例如:数据记录丢失或不可用;数据属性不完整,例如:数据属性空值。不完整的数据所能借鉴的价值就会大大降低,也是数据质量问题最为基础和常见的一类问题。
  2. 一致性
    多源数据的数据模型不一致,例如:命名不一致、数据结构不一致、约束规则不一致。数据实体不一致,例如:数据编码不一致、命名及含义不一致、分类层次不一致、生命周期不一致……。相同的数据有多个副本的情况下的数据不一致、数据内容冲突的问题。
  3. 准确性
    准确性也叫可靠性,是用于分析和识别哪些是不准确的或无效的数据,不可靠的数据可能会导致严重的问题,会造成有缺陷的方法和糟糕的决策。
  4. 唯一性
    用于识别和度量重复数据、冗余数据。重复数据是导致业务无法协同、流程无法追溯的重要因素,也是数据治理需要解决的最基本的数据问题。
  5. 关联性
    数据关联性问题是指存在数据关联的数据关系缺失或错误,例如:函数关系、相关系数、主外键关系、索引关系等。存在数据关联性问题,会直接影响数据分析的结果,进而影响管理决策。
  6. 真实性
    数据必须真实准确的反映客观的实体存在或真实的业务,真实可靠的原始统计数据是企业统计工作的灵魂,是一切管理工作的基础,是经营者进行正确经营决策必不可少的第一手资料。
  7. 及时性
    数据的及时性(In-time)是指能否在需要的时候获到数据,数据的及时性与企业的数据处理速度及效率有直接的关系,是影响业务处理和管理效率的关键指标。

四.稽核计算方式

规则分类

规则名称

规则编码

规则解释

扫描二维码关注公众号,回复: 10652023 查看本文章

唯一性

hasUniqueKey

1

验证用户指定的字段是否具有唯一性等

一致性

consistent_dict

2

验证用户指定的字段枚举值是否合乎要求等

完整性

integrity_notNull

3

验证表中必须出现的字段非空等

准确性

accuracy_length

4

验证长度是否符合规定等

1.主键唯一性计算

字段A的唯一性百分比 = count(distinct 字段A)/count(字段A)

2.非空完整性计算

字段A的完整性百分比 = sum(case when 字段A is not null then 1 else 0 end )/count(字段A)

3.字典一致性计算

枚举类型的数据都会维护在一张标准表中 然后和目标表进行比对字段A的 有效性百分比= sum(字段A in (维护的标准表) then 1 else 0 end )/count(字段A)

4.长度准确性计算

字段A的长度有效性百分比 = sum(case when length(字段A)<=设置数值 then 1 else 0 end )/count(字段A)

五.如何提升数据质量

1.事前定义数据的监控规则

提炼规则:梳理对应指标、确定对象(多表、单表、字段)、通过影响程度确定资产等级、质量规则制定

2.事中监控和控制数据生产过程

质量监控和工作流无缝对接

支持定时调度

强弱规则控制ETL流程

对脏数据进行清洗

3.事后分析和问题跟踪

邮件短信报警并及时跟踪处理

稽核报告查询

数据质量报告的概览、历史趋势、异常查询、数据质量表覆盖率

异常评估、严重程度、影响范围、问题分类

六.开发技术

一期:python hive

二期:pyspark hive datax mysql

七.开发流程

一期流程:

 

二期流程:

八.核心表核心字段梳理

九.数据质量报表产出

十.总结

        数据质量管理贯穿数据生命周期的全过程,覆盖质量评估、数据监控、数据探查、数据清洗、数据诊断等方面。数据源在不断增多,数据量在不断加大,新需求推动的新技术也不断诞生,这些都对大数据下的数据质量管理带来了困难和挑战。因此,数据质量管理要形成完善的体系,建立持续改进的流程和良性机制,持续监控各系统数据质量波动情况及数据质量规则分析,适时升级数据质量监控的手段和方法,确保持续掌握系统数据质量状况,最终达到数据质量的平稳状态,为业务系统提供良好的数据保障。 

发布了79 篇原创文章 · 获赞 107 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/zuochang_liu/article/details/105273307