zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【rainbowzhou 面试17/101】技术提问--如何进行数据质量检查?

技术数据面试 如何 进行 -- 17 提问
2023-06-13 09:17:27 时间

【rainbowzhou 面试15/101】技术提问--数据质量管理的流程有哪些?中,我讲述数据质量管理的四个阶段。今天详细说说如何进行数据质量检查,希望对大家有所帮助。

发现数据质量问题的途径可分为两种,一是数据质量监控,通过系统定时监控;二是数据质量自查评估,通过人为的方式进行检查。对于重要的数据集,一般都会进行数据质量自查评估,用来评估该数据集质量是否符合业务需求~

数据质量检查评估的流程?

如图,数据质量检查评估的流程分为5部分。

  1. 确定评估对象及范围
  2. 选取评估维度
  3. 选取评估标准
  4. 确定评估方法
  5. 评估并生成评估报告

确定评估对象及范围

确定评估对象及范围是确定评估数据集的范围,即数据集的数据量、属性和时间范围等。被评估的数据集应该是一个确定的静态集合(在评估时间内,数据不再增加、删除和修改),因为动态数据集会导致评估结果的不确定性,也会导致后期数据问题不易定位。(类似测试环境隔离,发现的bug对应相应的软件版本)

评估的数据集主要分为三类:

  • 全新的数据集。全新可以理解为新增的库、表,或历史数据库、表的增量数据。只有通过评估的数据,才能投入业务使用。否则未经过评估的数据直接使用,极大可能就是:garbage in, garbage out。
  • 受重大技术变更影响的数据集。例如,在数据采集、同步、计算和存储等任意环节进行重构或更换组件时,我们需要对受变更影响的数据进行质量评估(包括新增的与已有的)。
  • 新业务需求强依赖的数据集。例如,对一个数据集进行特征模块开发前,需要对依赖的数据集进行评估。只有通过评估的数据,才能满足特征开发的前提条件。

选取评估维度

在实际的业务项目汇总,业务数据大多为结构化数据,并且一般以表为基础单元。所以可以以表和字段作为基准,分为4个评估维度。从小到大依次为:字段级别分析、跨字段级别分析、表级别分析、跨表级别分析。

字段级别分析

常见的字段类别可以分为:字符类、数值类、日期类、编码类和码值类等类型。不同类型字段的分析方法不同。如下表:

类型

类型描述

分析方法

备注

字符类

常以字符串或文本形式展现,用来描述业务信息。如姓名、收获地址等

缺失值分析、异常值分析和字段内容分析

数值类

常以数字形式展现,对应数据类型主要有int、bigint等

缺失值分析、异常值分析、值域分析和字段内容分析

对于特殊数值类,如财务信息中的金额数据,以及负数和含有小数的数据,我们需要着重关注(毕竟直接和钱相关)

日期类

常以日期或时间形式展现,其主要作用是记录业务或系统时间

缺失值分析、异常值分析和值域分析

时间区间常常被用于统计、分析各种指标,如日、周、月、季度、年等

编码类

常用于快速检索,如自增id、订单id等。对于编码类,需关注具体编码规则

缺失值分析和异常值分析

对编码型数据统计计算无意义

码值类

码值类是编码类的变种,有特定的值域范围和对应的注释,主要用于筛选分组

缺失值分析、异常值分析、值域分析和数据分布分析

跨字段级别分析

跨字段级别分析的方法主要是功能相关性分析法。即分析字段与字段之间是否满足指定的计算逻辑和业务规则。例如:访问用户和注册用户之间的关系,访问用户不一定会注册,所以假设访问、注册渠道唯一,那么某天的访问用户数一定是大于等于注册用户数的。

表级别分析

表级别分析的方法主要有主键唯一性分析和表基础分析。

  • 主键唯一性分析:分析表中主键是否唯一。可用SQL语句进行check。
  • 表基础分析:分析标中的数据量和数据量波动,表是否缺失分区和分区值是否正确,以及HDFS目录数量和文件大小(针对Hive表)。一般采用对照分析~

跨表级别分析

跨表级别分析的方法主要有外键分析和血缘关系分析。

  • 外键分析,分析事实表中的外键能否在维表关联
  • 血缘关系分析,能看到数据来源的多样性、数据的可追溯性和数据的层次结构。在进行分析时,要关注数据转换前后的一致性。

选取评估标准

在确定数据评估维度后,需要选取评估标准。参考业界评估标准,我们将数据评估标准分为6个方面,分别为:

  1. 完整性
  2. 一致性
  3. 准确性
  4. 及时性
  5. 唯一性,此处指主键唯一和候选键唯一
  6. 合法性,指数据格式、类型、值域和业务规则是否符合用户的定义

其他4个方面的详细描述,可参考之前的系列文章【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?

确定评估方法

常用的评估方法有定性评估法和定量评估法。

  • 定性评估法,指基于一定的评估准则和要求,根据评估的目的和需求,进行定性描述和评估。如:等级制、百分制等表示方法
  • 定量评估法,指提供一个系统、客观的数量分析方法,评估结果更加具体和客观。推荐使用定量评估,也可将两者结合使用~

进行评估并生成评估报告

确定完评估方法后,需要根据选定的评估维度、评估标准和评估方法来对数据集进行评估。评估后,需要对评估结果进行分析,分析数据质量是否满足实际业务需求,以及是否需要进行数据质量问题修复。最后,整合数据质量评估过程和结果信息,输出数据质量报告。

看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。