数据质量(DQ)的建设方法论!离线实时通用
Posted 浊酒南街
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据质量(DQ)的建设方法论!离线实时通用相关的知识,希望对你有一定的参考价值。
目录
基础概念
什么是数据质量?
按照国际数据管理协会的《数据管理知识手册》中规定,数据质量(DQ)是“既指与数据有关的特征,也指用于衡量或改进数据质量的过程。”但要深入理解数据质量,需要切分不同层次或维度。
数据质量定义维度:
如果从用户层级定义数据质量,就是满足特定用户预期需要的一种程度。
如果从数据本身定义数据质量,即从数据质量的指示器和参数指标等方面来衡量其优劣。
如果从数据约束关系定义数据质量,即从数据的原子性、数据的关联性及对数据的约束规则来度量数据质量。
如果从数据过程定义数据质量,需要从数据能被正确使用、存储、传输等方面定义质量。
数据质量评估步骤:
第一步,确定需要做数据质量监控的数据指标项,通常是对数据运营和相关管理报告至关重要的数据项。
第二步,评估需要使用的数据质量维度及其权重值。
第三步,对于每个数据质量维度,定义表示标准质量和质量差数据的值和范围。特别需要注意的是:同一个指标名称,可能会有不同的度量规则,因此需要执行许多不同的数据质量评估。
第四步,反复查看并确认数据质量是否可以被接受。
第五步,在适当数据流转中采取纠正措施,例如:清理数据并改进数据处理流程,以防止问题再次发生。
最后,还需要定期重复上述步骤,以监控数据质量趋势。在时间维度上分可分为3类,分别为历史数据、当前数据和未来数据。在解决不同种类的数据质量问题时,应采取不同的处理方式。
对历史数据的处理
如果你拿着历史数据,找业务部门给你做整改,业务部门通常以“当前的数据问题都处理不过来;
明确业务需求并从需求开始控制数据质量
要想真正解决数据质量问题,应该从需求开始,银行往往在定义清楚业务需求后忽略对数据质量的控制,而只对已经产生的数据做检查,然后再将错误数据剔除,这种方法治标不治本,不能从根本上解决问题。银行需要将数据质量的控制从需求开始集成到分析人员、模型设计人员与开发人员的工作环境中,让大家在日常的工作环境中自动控制数据质量,在数据的全生命周期中控制数据质量。
建立数据质量管控机制
从业务出发做问题定义,由工具自动、及时发现问题,明确问题责任人,通过邮件、短信等方式进行通知,保证问题及时通知到责任人。跟踪问题整改进度,保证数据质量问题全过程的管理。
比如,探查数据内容、结构和异常通过探查,可以识别数据的优势和弱势,帮助企业确定业务实施计划。一个关键目标就是明确指出数据错误和问题,例如将会给业务流程带来威胁的不一致和冗余。
建立数据质量度量并明确目标企业需建立一个共同的平台并完善度量标准,用户可以在数据质量记分卡中跟踪度量标准的达标情况,并通过电子邮件发送URL来与相关人员随时进行共享。
设计和实施数据质量业务规则明确企业的数据质量规则,即可重复使用的业务逻辑,管理如何清洗数据和解析用于支持目标应用字段和数据。业务部门和IT部门通过使用基于角色的功能,一同设计、测试、完善和实施数据质量业务规则,以达成最好的结果。
将数据质量规则构建到数据集成过程中
数据质量服务由可集中管理、独立于应用程序并可重复使用的业务规则构成,可用来执行探查、清洗、标准化、名称与地址匹配以及监测。在企业大数据治理过程中,对于大数据生产线中的每个集成点,都需要做数据质量的检查,严格控制输入数据的质量。比如在数据采集过程,集成过程,分析过程等等都需要做检查。但在大数据环境中,每个集成点都会有海量数据量流过,把数据逐条检查这种传统方式是行不通的,应该采用抽样的方式,对一批数据做数据质量的检查,来确定这批数据是否满足一定的质量区间,再决定是否需要对这批数据做详细的检查。
检查异常并完善规则
在执行数据质量流程后,大多数记录将会被清洗和标准化,并达到企业所设定的数据质量目标。然而,无可避免,仍会存在一些没有被清洗的劣质数据,此时则需要完善控制数据质量的业务规则。目前企业内的数据主要分为外部数据和内部数据,大数据时代到来让各企业广泛采购第三方数据,第三方数据的质量逐渐成为决定企业数据质量的关键因素。对于企业的内部数据,可以通过业务梳理直接获得质量检核规则。但是对于外部第三方数据,需要先对这些数据进行采样,并应用关联算法自动发现其中的质量检核规则,并将这些检核规则持续积累,形成外部数据的检核规则库。
对照目标,监测数据质量,数据质量控制不应为一次性的“边设边忘”活动。相对目标和在整个业务应用中持续监测和管理数据质量对于保持和改进高水平的数据质量性能而言是至关重要的。可选择仪表板和报告进行监测。
问题数据分类处理:
对不同数据的数据问题分类处理在时间维度上分可分为3类,分别为历史数据、当前数据和未来数据。在解决不同种类的数据质量问题时,应采取不同的处理方式。
对历史数据的处理
如果你拿着历史数据,找业务部门给你做整改,业务部门通常以“当前的数据问题都处理不过来,哪有时间帮你一起追查历史数据的问题”为理由无情拒绝。这个时候即便是找领导协调,一般也起不到太大的作用。对于历史数据问题的处理,多数情况是发挥IT技术人员的优势,用数据清洗的办法来解决,清洗的过程要综合使用各类数据源,全面提升历史数据的质量。
针对当前数据的问题
需要通过从问题定义、问题发现、问题整改、问题跟踪、效果评估5个方面来解决。本质上还是从业务规则出发去解决问题。
对未来数据的处理
一般要采用做数据规划的方法来解决,从整个企业信息化的角度出发,规划统一企业数据架构,制定企业数据标准和数据模型。借业务系统改造或者重建的时机,来从根本上提高数据质量。当然这种机会是可遇而不可求的,在机会到来之前应该把企业数据标准和数据模型建立起来,一旦机会出现,就可以遵循这些标准。通过对不同时期数据的分类处理,做到事前预防、事中监控、事后改善,有助于从根源上解决数据质量问题,为企业的发展带来突破和创新。
数据质量问题根源
做数据质量管理首先要搞清楚数据质量问题产生的原因,原因有很多方面,例如:技术、管理、处理流程、业务逻辑错误等都会碰到,但从根本上来讲数据质量问题产生的绝大多数原因在业务上。
解决数据质量问题不是简单通过一个工具就能搞定,需要从根本上认识到数据质量问题产生的真正根源,从而从业务上着手解决数据质量问题。从业务角度着手解决数据质量问题,重要的是建立一套科学、可行的数据质量评估标准和管理流程。
数据质量四个保障原则
评估数据质量的好坏,业界标准并不统一。阿里巴巴对数据仓库主要从四个方面进行评估,即完整性、准确性、一致性和及时性。
完整性
完整性是指数据的记录和信息是否完整,是否存在缺失的情况。数据的缺失主要包括记录的缺失和记录中某个字段信息的缺失,两者都会造成数据不准确,所以说完整性是数据质量最基础的保障。
比如交易中每天支付订单数都在100万笔左右,如果某一天支付订单数突然下降到1万笔,那么很可能是记录缺失了。对于记录中某个字段信息的缺失,比如订单的商品ID、卖家ID是必须存在的,这些字段的空值个数肯定是0,一旦大于0就必然违背了完整性约束。
准确性
准确性是指数据中记录的信息和数据是否准确、是否存在异常或者错误的信息。例如,成绩单中分数出现负数或订单中出现错误的买家信息或负的订单金额等,这些数据都是问题数据。确保记录的准确性也是保证数据质量必不可少的一部分。
一致性
一致性通常体现在跨度很大的数据仓库中。例如,某公司有很多业务数仓分支,对于同一份数据,在不同的数仓分支中必须保证一致性(数仓各层数据经过ETL后,条数、数据值、类型需要与上层保持一致)。例如,从在线业务库加工到数据仓库,再到各个数据应用节点,用户ID必须保持同一种类型,且长度也要保持一致。
及时性
保障数据的及时产出才能体现数据的价值。例如,决策分析师通常希望当天就可以看到前一天的数据。若等待时间过长,数据失去了及时性的价值,数据分析工作将失去意义。这里离线数仓一般都是凌晨运行任务,及时性可以得到保证。
数据质量六大基本要素
1 完整性:主要包括实体不缺失,属性不缺失,记录不缺失和字段值不缺失四个方面
2 唯一性:指主键唯一和候选键唯一两个方面
3 一致性:指统一数据来源、统一数据存储和统一数据口径。
4 精确度: 指计量误差、度量单位等方面的精确程度。
5 合规性:主要包括格式、类型、域值和业务规则的有效性。
6 及时性:指数据刷新、修改和提取等操作的及时性和快速性。
数据质量管理的方法
1、建立质量管控流程和规范
明确质量管控的角色、职责,建立可执行的工作流程、可量化的工作评估等关于数据质量管控办法,同时也应具备绩效考核、冲突解决与管控方式等。
2、执行管理工作
1)数据剖析
进行已知数据问题的评估,评估的范围控制在本轮管控的目标范围内。通过对数据进行剖析,发现数据问题,具体规则又可通过标准或业务调研进行提取。
2)设计数据质量控制操作程序
获得已知数据问题后,就应设计数据质量控制操作程序。主要包括制定质量问题评估方式和整改方式、制定质量报告内容及对象以及制定检查和监控的频率及方式。
3)定义数据质量需求
根据剖析的质检规则和控制操作程序,对数据质量需求进行定义。
4)确定数据质量水平
数据质量需求定义完毕之后,我们就需要确定在此需求下,目前数据质量的水平处于什么位置。明确反应质量水平的并最直观的就是错误数据的详情情况。
5)管理数据质量问题
问题找到后,针对根据不同的质量问题,进行不同的质量整改方案。比如:源头修改、补录、技术修复以及遗留问题管控等。
3、检查数据质量
首先确定整改质量,对处理后的数据进行再次质检,出具数据质量的报告;然后,对比处理前后效果,总结改进措施;最后,检查数据质量是否合格,分析不合格原因并下一轮管控中进行技术上或者操作程序上的改进。
4、监控数据质量,控制管理程序和绩效
根据既定的操作程序,对质量管控过程中各个环节参与者进行绩效评估。还可以根据不同时期的重点制定不同的评分标准,有针对性的进行评价和管控,如整改初期数据缺失严重,则可对完整性规则权重调大,以期更快看到成效或者达到更好的效果。
数据质量管控在数据治理体系中占据了十分重要的地位,是看见实质成效最快的一环,也是数据治理过程中的重要一环,亿信华辰睿治智能数据治理平台,是一款融合数据治理十大产品模块,覆盖数据全生命周期管理的应用平台,其中也包括了数据质量模块,可帮助政企有效提升数据质量,挖掘数据价值。
数据分析的方面
缺失值
异常值
不一致的数据
内容未知的值
无效值
数据质量检核和监控
建立主动发现数据质量问题的方法。制定BDP的度量规则,基于度量规则在数据BDP内数据流向的各个环节区域上横向检查,区域之间的纵向检查,形成在BDP内数据的纵横监控网,有效发内的数据质量问题。数据质量检核内容分析图
基础数据平台内数据质量的横向和纵向检查 在的数据流向各个环节区域上进行横向检查,在各环节区域之间进行数据量的纵向检查。
横向检查
ODS:完整性、有效性、准确性、唯一性、一致性和合理性,及时性;
DDS:完整性、有效性、准确性、唯一性、一致性和合理性,及时性;
QDS:完整性、有效性、准确性、唯一性、一致性和合理性,及时性;
纵向检查
ODS区与DDS区的记录数核对 DDS区与QDS区的记录数核对
数据质量的监控指标一般有哪些
1:接入数据条数波动(近7天均值比较)
2:源系统表结构变更(表名、字段名、字段类型)
3:源系统表计算延迟,导致后续数据接入延迟
4:线上维表新增数值, 仓库未及时更新
5:对接入RDBMS表的主键、外键检查:是否重复
6:重要字段长度检查
7:空值检查
8:重要字段枚举分布检查:离散的,多数是维度字段,可以包含空值检查
9:值域检查:连续的,一般是事实字段,计算检查MAX MIN SUM AVG
10:日期合法性检查:是否有跨天日志,是否有不正常时间日志
数据质量问题分析及报告
数据质量分析
对数据质量指标进行应用分析,趋势分析可对指标在周期内的走势进行分析,质量报告能对系统内的数据质量情况进行分类导出。并对质量问题进行分类保存,并能根据条件灵活查询出历史问题,便于以后问题的解决,形成数据质量知识库。
数据质量分析报告
根据数据日期、检核系统生成数据质量报告。报告内容包括系统、规则数、方法数、问题总数和检核出问题的检核方法数。
报告分别通过图和表来展现问题信息图:饼状图显示各系统所占问题数比例,饼状图显示各检核类别所占的问题数比例表:数据列表,显示系统的度量规则数、方法数、问题总数和检核出问题的检核方法数,点击表中的汇总数据可下钻到详细的度量规则、检核方法和质量问题。
检核方法分析报告:根据检核类别和质量维度生成度量规则和检核方法数的报告报告。
报告内容包括质量维度、检核类别、规则数和方法数。
报告分别通过柱状图和列表的形式展现,柱状图显示检核列别对应的检核方法数;列表显示检核类别对应的规则总数和方法总数;质量维度对应的规则总数和方法总数;点击汇总数据可下钻到详细的规则列表和方法列表。
以上是关于数据质量(DQ)的建设方法论!离线实时通用的主要内容,如果未能解决你的问题,请参考以下文章