在【rainbowzhou 面试15/101】技术提问--数据质量管理的流程有哪些?中,我讲述数据质量管理的四个阶段。今天详细说说如何进行数据质量检查,希望对大家有所帮助。
发现数据质量问题的途径可分为两种,一是数据质量监控,通过系统定时监控;二是数据质量自查评估,通过人为的方式进行检查。对于重要的数据集,一般都会进行数据质量自查评估,用来评估该数据集质量是否符合业务需求~
数据质量检查评估的流程?
如图,数据质量检查评估的流程分为5部分。
- 确定评估对象及范围
- 选取评估维度
- 选取评估标准
- 确定评估方法
- 评估并生成评估报告
确定评估对象及范围
确定评估对象及范围是确定评估数据集的范围,即数据集的数据量、属性和时间范围等。被评估的数据集应该是一个确定的静态集合(在评估时间内,数据不再增加、删除和修改),因为动态数据集会导致评估结果的不确定性,也会导致后期数据问题不易定位。(类似测试环境隔离,发现的bug对应相应的软件版本)
评估的数据集主要分为三类:
- 全新的数据集。全新可以理解为新增的库、表,或历史数据库、表的增量数据。只有通过评估的数据,才能投入业务使用。否则未经过评估的数据直接使用,极大可能就是:garbage in, garbage out。
- 受重大技术变更影响的数据集。例如,在数据采集、同步、计算和存储等任意环节进行重构或更换组件时,我们需要对受变更影响的数据进行质量评估(包括新增的与已有的)。
- 新业务需求强依赖的数据集。例如,对一个数据集进行特征模块开发前,需要对依赖的数据集进行评估。只有通过评估的数据,才能满足特征开发的前提条件。
选取评估维度
在实际的业务项目汇总,业务数据大多为结构化数据,并且一般以表为基础单元。所以可以以表和字段作为基准,分为4个评估维度。从小到大依次为:字段级别分析、跨字段级别分析、表级别分析、跨表级别分析。
字段级别分析
常见的字段类别可以分为:字符类、数值类、日期类、编码类和码值类等类型。不同类型字段的分析方法不同。如下表:
类型 | 类型描述 | 分析方法 | 备注 |
---|---|---|---|
字符类 | 常以字符串或文本形式展现,用来描述业务信息。如姓名、收获地址等 | 缺失值分析、异常值分析和字段内容分析 | |
数值类 | 常以数字形式展现,对应数据类型主要有int、bigint等 | 缺失值分析、异常值分析、值域分析和字段内容分析 | 对于特殊数值类,如财务信息中的金额数据,以及负数和含有小数的数据,我们需要着重关注(毕竟直接和钱相关) |
日期类 | 常以日期或时间形式展现,其主要作用是记录业务或系统时间 | 缺失值分析、异常值分析和值域分析 | 时间区间常常被用于统计、分析各种指标,如日、周、月、季度、年等 |
编码类 | 常用于快速检索,如自增id、订单id等。对于编码类,需关注具体编码规则 | 缺失值分析和异常值分析 | 对编码型数据统计计算无意义 |
码值类 | 码值类是编码类的变种,有特定的值域范围和对应的注释,主要用于筛选分组 | 缺失值分析、异常值分析、值域分析和数据分布分析 |
跨字段级别分析
跨字段级别分析的方法主要是功能相关性分析法。即分析字段与字段之间是否满足指定的计算逻辑和业务规则。例如:访问用户和注册用户之间的关系,访问用户不一定会注册,所以假设访问、注册渠道唯一,那么某天的访问用户数一定是大于等于注册用户数的。
表级别分析
表级别分析的方法主要有主键唯一性分析和表基础分析。
- 主键唯一性分析:分析表中主键是否唯一。可用SQL语句进行check。
- 表基础分析:分析标中的数据量和数据量波动,表是否缺失分区和分区值是否正确,以及HDFS目录数量和文件大小(针对Hive表)。一般采用对照分析~
跨表级别分析
跨表级别分析的方法主要有外键分析和血缘关系分析。
- 外键分析,分析事实表中的外键能否在维表关联
- 血缘关系分析,能看到数据来源的多样性、数据的可追溯性和数据的层次结构。在进行分析时,要关注数据转换前后的一致性。
选取评估标准
在确定数据评估维度后,需要选取评估标准。参考业界评估标准,我们将数据评估标准分为6个方面,分别为:
- 完整性
- 一致性
- 准确性
- 及时性
- 唯一性,此处指主键唯一和候选键唯一
- 合法性,指数据格式、类型、值域和业务规则是否符合用户的定义
其他4个方面的详细描述,可参考之前的系列文章【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?
确定评估方法
常用的评估方法有定性评估法和定量评估法。
- 定性评估法,指基于一定的评估准则和要求,根据评估的目的和需求,进行定性描述和评估。如:等级制、百分制等表示方法
- 定量评估法,指提供一个系统、客观的数量分析方法,评估结果更加具体和客观。推荐使用定量评估,也可将两者结合使用~
进行评估并生成评估报告
确定完评估方法后,需要根据选定的评估维度、评估标准和评估方法来对数据集进行评估。评估后,需要对评估结果进行分析,分析数据质量是否满足实际业务需求,以及是否需要进行数据质量问题修复。最后,整合数据质量评估过程和结果信息,输出数据质量报告。
看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。