数仓之数据质量及apachegriffin简介

author author     2022-12-06     171

关键词:


概述

垃圾进,垃圾出(garbage in,garbage out)。数据质量定义:

数据质量可能不是数据治理的最核心部分,但可能会成为数据治理落地的最大障碍。

评估

一般从以下6个方面评估数据质量:

  • 完整性:数据的记录和信息是否完整,是否存在缺失情况;
  • 一致性:数据的记录是否符合规范,是否与前后及其它数据集保持统一;
  • 准确性:数据中记录的信息和数据是否准确,是否存在异常或者错误信息;
  • 合规性:数据是否以非标准格式存储;
  • 重复性:是否记录重复数据
  • 及时性:数据从产生到可以查看的时间间隔,也叫数据的延时时长。

另外,全国信息技术标准化技术委员会提出的数据质量评价指标(GB/T36344-2018 ICS 35.24.01),它包含以下几个方面:

  • 规范性:指的是数据符合数据标准、数据模型、业务规则、元数据或权威参考数据的程度。例如 GB/T 2261.1-2003 中定义的性别代码标准是 0 表示未知性别,1 表示男,2 表示女,9 表示未说明。GB 11643-1999 中定义的居民身份证编码规则是 6 位数字地址码,8 位数字出生日期码,三位数字顺序码,一位数字校验码。
  • 完整性:指的是按照数据规则要求,数据元素被赋予数值的程度。例如互联网 + 监管主题库中,监管对象为特种设备时,监管对象标识必须包含企业统一社会信用代码 + 产品品牌 + 设备编码,监管对象为药品时,监管对象标识必须包含药品名称 + 批准文号 + 生产批号。
  • 准确性:指的是数据准确表示其所描述的真实实体(实际对象)真实值的程度。例如互联网 + 监管行政检查行为中的行政相对人为公民时,证件类型和证件号码只能是身份证号码。
  • 一致性:指的是数据与其它特定上下文中使用的数据无矛盾的程度。例如许可证信息与法人基础信息是否一致,检查计划与检查记录是否匹配。
  • 时效性:指的是数据在时间变化中的正确程度。例如企业住址搬迁后,企业法人库中的住址是否及时更新。营业执照已经办理,许可照办理时是否可以及时获取到营业执照信息。
  • 可访问性:指的是数据能被访问的程度。

除此之外,还有一些业内认可的补充指标,并且在质量工作的实际开展中,可以根据数据的实际情况和业务要求进行扩展,例如:

  • 唯一性:描述数据是否存在重复记录(国标归在准确性中)。
  • 稳定性:描述数据的波动是否是稳定的,是否在其有效范围内。
  • 可信性:描述数据来源的权威性、数据的真实性、数据产生的时间近、鲜活度高。

数据质量(Data Quality)管理贯穿数据生命周期的全过程,覆盖质量评估、数据监控、数据探查、数据清洗、数据诊断等方面。

数据质量问题

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

数据质量检测和量化

  1. 有效性
  • 字段长度有效
  • 字段内容有效
  • 字段数值范围有效
  • 枚举值集合有效
  1. 唯一性
  • 对主键是否存在重复数据的监控指标
  1. 完整性
  • 字段是否为空或NULL
  • 记录数是否丢失
  • 记录数环比波动
  • 录数波动范围
  • 记录数方差检验
  1. 准确性
  • 数值同比
  • 数值环比
  • 数值方差检验
  • 表逻辑检查
  1. 一致性
  • 表级别一致性检查
  1. 时效性
  • 表级别质量监控指标,数据是否按时产出
  1. 数据剖析
  • 最大值检查
  • 最小值检查
  • 平均值检查
  • 汇总值检查
  1. 自定义规则检查
  • 用户写自定义SQL实现的监控规则
    从有效性、唯一性、完整性、准确性、一致性、时效性、数据剖析和自定义规则检查等几个维度对数据质量进行测量,但对于现在超级大的数据量级监控所有的数据是不符合成本效率的。因此,知道哪些数据为最关键的,对这些关键数据进行全链路的数据质量,这样有助于防止错误或揭示改进的机会。
  • 数据质量问题的量化
    对于数据质量的检测结果进行分析和量化,查找出现质量问题的数据链环节,定位数据问题,实行问责机制。

数据质量管理

Data Quality Management,是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。数据质量管理不是一时的数据治理手段,而是循环的管理过程。其终极目标是通过可靠的数据,提升数据在使用中的价值,并最终为企业赢得经济效益。

Griffin

​官网​​​​GitHub​​ Apache Griffin,eBay开源的大数据数据质量解决方案,支持批处理和流模式两种数据质量检测方式,基于Hadoop和Spark建立的数据质量服务平台 (DQSP)。提供一个全面的框架来处理不同的任务,例如定义数据质量模型、执行数据质量测量、自动化数据分析和验证,以及跨多个数据系统的统一数据质量可视化。可从不同维度度量数据资产,提升数据的准确度和可信度,如:离线任务执行完毕后检查源端和目标端的数据数量是否一致,源表的数据空值等。

功能:

  • 度量:精确度、完整性、及时性、唯一性、有效性、一致性
  • 异常监测:利用预先设定的规则,检测出不符合预期的数据,提供不符合规则数据的下载
  • 异常告警:通过邮件或门户报告数据质量问题
  • 可视化监测:利用控制面板来展现数据质量的状态
  • 实时性:可以实时进行数据质量检测,能够及时发现问题
  • 可扩展性:可用于多个数据系统仓库的数据校验
  • 可伸缩性:工作在大数据量的环境中,目前运行的数据量约1.2PB(eBay环境)
  • 自助服务:Griffin提供一个简洁易用的用户界面,可以管理数据资产和数据质量规则;同时用户可以通过控制面板查看数据质量结果和自定义显示内容。

支持的数据源包括Hive,AVRO,Kafka,MySQL和其他RDBM。

架构

数仓之数据质量及Apache


各部分的职责如下:

  • Define:主要负责定义数据质量统计的维度,比如数据质量统计的时间跨度、统计的目标(源端和目标端的数据数量是否一致,数据源里某一字段的非空的数量、不重复值的数量、最大值、最小值、top5的值数量等)
  • Measure:主要负责执行统计任务,生成统计结果
  • Analyze:主要负责保存与展示统计结果

一个完整的Griffin任务的执行流程:

数仓之数据质量及Apache


注册数据,把想要检测数据质量的数据源注册到griffin。

配置度量模型,可以从数据质量维度来定义模型,如:精确度、完整性、及时性、唯一性等。

配置定时任务提交spark集群,定时检查数据。

在门户界面上查看指标,分析数据质量校验结果。

Griffin 系统主要分为:数据收集处理层(Data Collection&Processing Layer)、后端服务层(Backend Service Layer)和用户界面(User Interface)

数仓之数据质量及Apache


数据处理和存储层:

对于批量分析,数据质量模型将根据 hadoop 中的数据源计算 Spark 集群中的数据质量指标。

对于近实时分析,使用来自消息传递系统的数据,然后数据质量模型将基于Spark 集群计算实时数据质量指标。对于数据存储,可以在后端使用ES来满足前端请求。

Apache Griffin 服务:
项目有提供Restful 服务来完成Griffin 的所有功能,例如探索数据集、创建数据质量度量、发布指标、检索指标、添加订阅等。开发人员可以基于这些 Web 开发自己的用户界面服务。

安装

实战

其他工具

通过试用其他工具,来学习数据质量管理的思路和经验。

Deequ

Amazon开源,​​GitHub​​,

Great Expectations

​GitHub​​,Python的工具包,数据科学领域。

DataWorks

阿里

DataMan

美团点评

Qualitis

​GitHub​

参考

  • ​​大数据:数据质量​​
  • ​​如何提升大数据数据质量​​
  • ​​大数据环境下的数据质量管理策略​​
  • ​数据质量管理​
  • 数据质量监控框架及解决方案总结
  • 数据质量管理工具预研
  • 开源数据质量解决方案——Apache Griffin入门宝典


实时数仓之kappa架构与lambda架构(建议收藏!)(代码片段)

...时代来临,数据量暴增,开始使用大数据工具来替代经典数仓中的传统工具。此时仅仅是工具的取代,架构上并没有根本的区别,可以把这个架构 查看详情

apachegriffin的搭建及应用

...大量投入。最终经过前期的调研,我们选择了Apachgriffin。Apachegriffin是ebay中国开源的项目,2018年成为了Apache下面的顶级开源项目。Apachegriffin能解决哪些问题呢?     1.数据的一致性检测,例如两张表内,相关字... 查看详情

实时数仓之kappa架构与lambda架构

...,数据量暴增,开始使用大数据工具来替代经典数仓中的传统工具。此时仅仅是工具的取代,架构上并没有根本的区别,可以把这个架构叫做离线大数据架构后来随着业务实时性要求的不断提高,人们开始在... 查看详情

网易严选离线数仓质量建设实践

做数仓最重要的是什么?一是模型易用性,二是数据质量。模型易用性我们可以通过建模规范、指标管理等方式去实现。而对于数据质量呢?本篇将以严选数仓为例,从建设目标、保障措施、效果评价等几方面探... 查看详情

网易严选离线数仓质量建设实践

做数仓最重要的是什么?一是模型易用性,二是数据质量。模型易用性我们可以通过建模规范、指标管理等方式去实现。而对于数据质量呢?本篇将以严选数仓为例,从建设目标、保障措施、效果评价等几方面探... 查看详情

美团数据平台及数仓建设实践,超十万字总结

美团技术团队的博客质量非常高,里面有许多关于大数据的文章,具有很大的参考价值。美团技术博客地址:https://tech.meituan.com但是博客功能简陋,没有基本的搜索功能,这对于我们查找相关文章非常不易。... 查看详情

美团数据平台及数仓建设实践,超十万字总结

美团技术团队的博客质量非常高,里面有许多关于大数据的文章,具有很大的参考价值。美团技术博客地址:https://tech.meituan.com但是博客功能简陋,没有基本的搜索功能,这对于我们查找相关文章非常不易。... 查看详情

《美团数据平台及数仓建设实践》(209页).pdf

...f0c;有需要的私信:"美团"领取1.美团数据平台及数仓建设实践.PDF下载美团技术团队的博客质量非常高,里面有许多关于大数据的文章,具有很大的参考价值。但是博客功能简陋,没有基本的搜索功能,这... 查看详情

数仓系列第9篇:数据质量

目录导读:01什么是数据质量02数据完整性03数据唯一性04数据有效性05数据一致性06数据准确性07数据及时性08数据可信性导读:随着大数据行业的深入发展,数据质量越来越成为一个绕不开的话题,那当大家在聊数... 查看详情

网易严选离线数仓质量建设实践

做数仓最重要的是什么?一是模型易用性,二是数据质量。模型易用性我们可以通过建模规范、指标管理等方式去实现。而对于数据质量呢?本篇将以严选数仓为例,从建设目标、保障措施、效果评价等几方面探... 查看详情

数仓建模理论——高质量数据建模(代码片段)

数仓质量数据模型的概念和意义-DIKW低质量数据模型十宗罪:低质量数据模型的影响数仓必备技能1.建模基础-实体2.建模基础——属性(Attribute)3.域(Domain)NULL值的处理规范化——范式第一范式:原子性&#... 查看详情

dap质量校验实现及数据应用说明

...企业的成长。DAP数据分析平台就是通过企业中的数据构建数仓,把从业务系统中获取的数据进行高效采集、校验、计算等操作,将有价值的数据以可视化或者数据服务的形式进行展现或者提供出去,能够帮助企决策者... 查看详情

如何保障数仓数据质量?(代码片段)

导读有赞数据报表中心为商家提供了丰富的数据指标,包括30+页面,100+数据报表以及400+不同类型的数据指标,它们帮助商家更合理、科学地运营店铺,同时也直接提供分析决策方法供商家使用。并且ÿ... 查看详情

dap质量校验实现及数据应用说明

...企业的成长。DAP数据分析平台就是通过企业中的数据构建数仓,把从业务系统中获取的数据进行高效采集、校验、计算等操作࿰ 查看详情

数仓简介

数据仓库之父比尔·恩门(BillInmon)在1991年出版的“BuildingtheDataWarehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受,数据仓库是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映... 查看详情

数仓系列第11篇:实时数仓

...的发展3.数据仓库建设方法论4.数据仓库架构的演变5.实时数仓案例6.实时数仓与离线数仓的对比导读:本文将从数据仓库的简介、经历了怎样的发展、如何建设、架构演变、应用案例以及实时数仓与离线数仓的对比六个方面... 查看详情

关于数仓建设及数据治理的超全概括

目录第一节是数仓建设数仓为什么要分层?数仓分几层最好?如何搭建一个好的数仓?数仓设计维度数仓建模方法实际业务中数仓分层数据层具体实现第二节是数据治理数据治理之道是什么浅谈数据治理方式第一节是... 查看详情

数据仓库之数仓分层及hive分层

目录一、数据仓库之数仓分层(一)为什么要分层?(二)数仓三层1、数据运营层:ODS(OperationalDataStore)2、数据仓库层:DW(DataWarehouse)3、数据应用层:APP(Applicati 查看详情