数据质量监控框架及解决方案总结
概述
随着业务发展和数据量的增加,大数据应用开发已成为部门应用开发常用的开发方式,由于部门业务特点的关系,spark和hive应用开发在部门内部较为常见。当处理的数据量达到一定量级和系统的复杂度上升时,数据的唯一性、完整性、一致性等等校验就开始受到关注,而通常做法是根据业务特点,额外开发job如报表或者检查任务,这样会比较费时费力。
目前遇到的表大部分在几亿到几十亿的数据量之间,并且报表数量在不断增加,在这种情况下,一个可配置、可视化、可监控的数据质量工具就显得尤为重要了。以下介绍几个国内外主流的技术解决方案及框架。
一.Apache Griffin(Ebay开源数据质量监控平台)
Griffin起源于eBay中国,并于2016年12月进入Apache孵化器,Apache软件基金会2018年12月12日正式宣布Apache Griffin毕业成为Apache顶级项目。
数据质量模块是大数据平台中必不可少的一个功能组件,Apache Griffin(以下简称Griffin)是一个开源的大数据数据质量解决方案,它支持批处理和流模式两种数据质量检测方式,可以从不同维度(比如离线任务执行完毕后检查源端和目标端的数据数量是否一致、源表的数据空值数量等)度量数据资产,从而提升数据的准确度、可信度。对于batch数据,我们可以通过数据连接器从Hadoop平台收集数据。对于streaming数据,我们可以连接到诸如Kafka之类的消息系统来做近似实时数据分析。在拿到数据之后,模型引擎将在spark集群中计算数据质量。
1.1 工作流程
在Griffin的架构中,主要分为Define、Measure和Analyze三个部分:

各部分的职责如下:
- Define:主要负责定义数据质量统计的维度,比如数据质量统计的时间跨度、统计的目标(源端和目标端的数据数量是否一致,数据源里某一字段的非空的数量、不重复值的数量、最大值、最小值、top5的值数量等)
- Measure:主要负责执行统计任务,生成统计结果
- Analyze:主要负责保存与展示统计结果
基于以上功能,我们大数据平台计划引入Griffin作为数据质量解决方案,实现数据一致性检查、空值统计等功能。

随着大数据应用的发展,数据质量监控变得至关重要。本文总结了Apache Griffin、Deequ、DataWorks和DataMan四个主流数据质量监控平台。Apache Griffin提供批处理和流模式的数据质量检测,具有度量、异常监测和告警等功能。Deequ是基于Spark的Python接口,用于数据质量测试和约束验证。DataWorks是阿里云的全链路大数据平台,提供数据质量监控服务。DataMan是美团点评的数据质量监控解决方案,覆盖离线和实时数据。这些框架各有特点,满足不同场景的数据质量需求。
最低0.47元/天 解锁文章
875

被折叠的 条评论
为什么被折叠?



