关于数据质量(DQ)知识介绍

2023-10-12 16:20
文章标签 质量 数据 介绍 知识 dq

本文主要是介绍关于数据质量(DQ)知识介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基础概念

什么是数据质量?

按照国际数据管理协会的《数据管理知识手册》中规定,数据质量(DQ)是“既指与数据有关的特征,也指用于衡量或改进数据质量的过程。”但要深入理解数据质量,需要切分不同层次或维度。

数据质量定义维度

如果从用户层级定义数据质量,就是满足特定用户预期需要的一种程度。

如果从数据本身定义数据质量,即从数据质量的指示器和参数指标等方面来衡量其优劣。

如果从数据约束关系定义数据质量,即从数据的原子性、数据的关联性及对数据的约束规则来度量数据质量。

如果从数据过程定义数据质量,需要从数据能被正确使用、存储、传输等方面定义质量。

数据质量评估步骤

第一步,确定需要做数据质量监控的数据指标项,通常是对数据运营和相关管理报告至关重要的数据项。

第二步,评估需要使用的数据质量维度及其权重值。

第三步,对于每个数据质量维度,定义表示标准质量和质量差数据的值和范围。特别需要注意的是:同一个指标名称,可能会有不同的度量规则,因此需要执行许多不同的数据质量评估。

第四步,反复查看并确认数据质量是否可以被接受。

第五步,在适当数据流转中采取纠正措施,例如:清理数据并改进数据处理流程,以防止问题再次发生。

最后,还需要定期重复上述步骤,以监控数据质量趋势。

数据质量提升方法

明确业务需求并从需求开始控制数据质量

要想真正解决数据质量问题,应该从需求开始,银行往往在定义清楚业务需求后忽略对数据质量的控制,而只对已经产生的数据做检查,然后再将错误数据剔除,这种方法治标不治本,不能从根本上解决问题。银行需要将数据质量的控制从需求开始集成到分析人员、模型设计人员与开发人员的工作环境中,让大家在日常的工作环境中自动控制数据质量,在数据的全生命周期中控制数据质量。

建立数据质量管控机制

从业务出发做问题定义,由工具自动、及时发现问题,明确问题责任人,通过邮件、短信等方式进行通知,保证问题及时通知到责任人。跟踪问题整改进度,保证数据质量问题全过程的管理。

比如,探查数据内容、结构和异常通过探查,可以识别数据的优势和弱势,帮助企业确定业务实施计划。一个关键目标就是明确指出数据错误和问题,例如将会给业务流程带来威胁的不一致和冗余。

建立数据质量度量并明确目标企业需建立一个共同的平台并完善度量标准,用户可以在数据质量记分卡中跟踪度量标准的达标情况,并通过电子邮件发送URL来与相关人员随时进行共享。

设计和实施数据质量业务规则明确企业的数据质量规则,即可重复使用的业务逻辑,管理如何清洗数据和解析用于支持目标应用字段和数据。业务部门和IT部门通过使用基于角色的功能,一同设计、测试、完善和实施数据质量业务规则,以达成最好的结果。

将数据质量规则构建到数据集成过程中

数据质量服务由可集中管理、独立于应用程序并可重复使用的业务规则构成,可用来执行探查、清洗、标准化、名称与地址匹配以及监测。在企业大数据治理过程中,对于大数据生产线中的每个集成点,都需要做数据质量的检查,严格控制输入数据的质量。比如在数据采集过程,集成过程,分析过程等等都需要做检查。但在大数据环境中,每个集成点都会有海量数据量流过,把数据逐条检查这种传统方式是行不通的,应该采用抽样的方式,对一批数据做数据质量的检查,来确定这批数据是否满足一定的质量区间,再决定是否需要对这批数据做详细的检查。

检查异常并完善规则

在执行数据质量流程后,大多数记录将会被清洗和标准化,并达到企业所设定的数据质量目标。然而,无可避免,仍会存在一些没有被清洗的劣质数据,此时则需要完善控制数据质量的业务规则。目前企业内的数据主要分为外部数据和内部数据,大数据时代到来让各企业广泛采购第三方数据,第三方数据的质量逐渐成为决定企业数据质量的关键因素。对于企业的内部数据,可以通过业务梳理直接获得质量检核规则。但是对于外部第三方数据,需要先对这些数据进行采样,并应用关联算法自动发现其中的质量检核规则,并将这些检核规则持续积累,形成外部数据的检核规则库。

对照目标,监测数据质量,数据质量控制不应为一次性的“边设边忘”活动。相对目标和在整个业务应用中持续监测和管理数据质量对于保持和改进高水平的数据质量性能而言是至关重要的。可选择仪表板和报告进行监测。

问题数据分类处理

对不同数据的数据问题分类处理在时间维度上分可分为3类,分别为历史数据、当前数据和未来数据。在解决不同种类的数据质量问题时,应采取不同的处理方式。

对历史数据的处理

如果你拿着历史数据,找业务部门给你做整改,业务部门通常以“当前的数据问题都处理不过来,哪有时间帮你一起追查历史数据的问题”为理由无情拒绝。这个时候即便是找领导协调,一般也起不到太大的作用。对于历史数据问题的处理,多数情况是发挥IT技术人员的优势,用数据清洗的办法来解决,清洗的过程要综合使用各类数据源,全面提升历史数据的质量。

针对当前数据的问题

需要通过从问题定义、问题发现、问题整改、问题跟踪、效果评估5个方面来解决。本质上还是从业务规则出发去解决问题。

对未来数据的处理

一般要采用做数据规划的方法来解决,从整个企业信息化的角度出发,规划统一企业数据架构,制定企业数据标准和数据模型。借业务系统改造或者重建的时机,来从根本上提高数据质量。当然这种机会是可遇而不可求的,在机会到来之前应该把企业数据标准和数据模型建立起来,一旦机会出现,就可以遵循这些标准。通过对不同时期数据的分类处理,做到事前预防、事中监控、事后改善,有助于从根源上解决数据质量问题,为企业的发展带来突破和创新。

数据质量问题根源

做数据质量管理首先要搞清楚数据质量问题产生的原因,原因有很多方面,例如:技术、管理、处理流程、业务逻辑错误等都会碰到,但从根本上来讲数据质量问题产生的绝大多数原因在业务上。

解决数据质量问题不是简单通过一个工具就能搞定,需要从根本上认识到数据质量问题产生的真正根源,从而从业务上着手解决数据质量问题。从业务角度着手解决数据质量问题,重要的是建立一套科学、可行的数据质量评估标准和管理流程。

数据质量四个保障原则

评估数据质量的好坏,业界标准并不统一。阿里巴巴对数据仓库主要从四个方面进行评估,即完整性、准确性、一致性和及时性。

完整性

完整性是指数据的记录和信息是否完整,是否存在缺失的情况。数据的缺失主要包括记录的缺失和记录中某个字段信息的缺失,两者都会造成数据不准确,所以说完整性是数据质量最基础的保障。

比如交易中每天支付订单数都在100万笔左右,如果某一天支付订单数突然下降到1万笔,那么很可能是记录缺失了。对于记录中某个字段信息的缺失,比如订单的商品ID、卖家ID是必须存在的,这些字段的空值个数肯定是0,一旦大于0就必然违背了完整性约束。

准确性

准确性是指数据中记录的信息和数据是否准确、是否存在异常或者错误的信息。例如,成绩单中分数出现负数或订单中出现错误的买家信息或负的订单金额等,这些数据都是问题数据。确保记录的准确性也是保证数据质量必不可少的一部分。

一致性

一致性通常体现在跨度很大的数据仓库中。例如,某公司有很多业务数仓分支,对于同一份数据,在不同的数仓分支中必须保证一致性(数仓各层数据经过ETL后,条数、数据值、类型需要与上层保持一致)。例如,从在线业务库加工到数据仓库,再到各个数据应用节点,用户ID必须保持同一种类型,且长度也要保持一致。

及时性

保障数据的及时产出才能体现数据的价值。例如,决策分析师通常希望当天就可以看到前一天的数据。若等待时间过长,数据失去了及时性的价值,数据分析工作将失去意义。这里离线数仓一般都是凌晨运行任务,及时性可以得到保证。

数据质量六大基本要素

1 完整性:主要包括实体不缺失,属性不缺失,记录不缺失和字段值不缺失四个方面

2 唯一性:指主键唯一和候选键唯一两个方面

3 一致性:指统一数据来源、统一数据存储和统一数据口径。

4 精确度: 指计量误差、度量单位等方面的精确程度。

5 合规性:主要包括格式、类型、域值和业务规则的有效性。

6 及时性:指数据刷新、修改和提取等操作的及时性和快速性。

 

这篇关于关于数据质量(DQ)知识介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/197027

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L