- 概述
数据质量模块是大数据平台中必不可少的一个功能组件,Apache Griffin(以下简称Griffin)是一个开源的大数据数据质量解决方案,它支持批处理和流模式两种数据质量检测方式,可以从不同维度(比如离线任务执行完毕后检查源端和目标端的数据数量是否一致、源表的数据空值数量等)度量数据资产,从而提升数据的准确度、可信度。 -
架构
在Griffin的架构中,主要分为Define、Measure和Analyze三个部分,
image.png
各部分的职责如下:
- Define:主要负责定义数据质量统计的维度,比如数据质量统计的时间跨度、统计的规则(源端和目标端的数据数量是否一致,数据源里某一字段的非空的数量、不重复值的数量、最大值、最小值、top5的值数量等)
- Measure:主要负责执行统计任务,生成统计结果。
- Analyze:主要负责保存与展示统计结果
基于以上功能,大数据平台计划引入Griffin作为数据质量解决方案,实现数据一致性检查、空值统计等功能。质量管理工具主要涉及到如下三个数据模型: - Data Assets数据源
- Data Quality measures数据质量评价规则
- Data Quality metrics数据质量评价指标
技术实现。measure负责与spark交互,执行统计任务, service(Analyze)使用spring boot作为服务实现,负责给ui模块提供交互所需的restful api,保存统计任务,展示统计结果。
-
实现流程
数据模型库包括Asset Store、Measure Store、Metric Store,实现流程如下图所示:
image.png
(1)注册数据源
通过修改配置文件,实现数据源注册,目前界面只能查看到Hive数据源表。
(2)创建质量评价模型
根据质量评价需求,通过可视化界面或者RestApi,选择数据源表,创建质量评价模型(目前UI创建Measure支持Accuracy的Measure,界面上虽然有其他选项但是无法执行job)。评价维度主要包括Accuracy、Profiling两种类型,如下:
Accuracy评价维度:有效性维度,因为为了准确,值必须是有效的、正确的值和正确的表示。(Validity is a related dimension because, in order to be accurate, values must be valid, the right value and in the correct representation.)
Profiling评价维度:准确性、完整性、一致性和唯一性(Accuracy, Completeness, Consistency and Uniqueness)
(3)开启质量评价任务
针对Kafka实时消息数据和数据库离线数据,Streaming Use Cases和Profiling Use Case两种使用场景。基于配置的评价规则,制订定时任务,定时执行流处理任务或批处理任务,生成质量评价结果。
(4)收集评价指标
将质量评价质量存储到ElasticSearch数据库中,提供RestApi质量评价质量接口。
4.准则
4.1 准确度度量Accuracy Measure
4.2性能分析度量Profiliing Measure
如果想看最大值最小值、重复数、空值个数、最大长度、总个数等值就得创建prifiling measure。
(1)空值个数查询
”rule”:”select count(id) from src where id is null”
(2)去重个数统计
”rule”:”select distinct count(id) from src”
参考:
[1]Apache Griffin 入门指南
[2]Apache Griffin User Guide
[3] 尚硅谷大数据技术之Griffin-6质量监控.docx
网友评论