首页 > 其他分享 >数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS Qualitis

数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS Qualitis

时间:2023-08-04 19:04:42浏览次数:41  
标签:Griffin Great expectations Deequ VS 质量 预研 数据 Qualitis

开源数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS Qualitis。

概述

 数据质量监控(DQC)是最近很火的一个话题,也是数据治理中最重要的一环。有一句话说得好。数据质量未必是数据治理中最重要的一部分,但是数据质量可能是让数据治理工作全部崩盘的第一步。

所以做好数据质量监控非常重要,废话少说本文将从开源数据质量解决方案预研的角度,带大家了解目前四个比较成熟的数据质量管理工具,希望对大家做技术选型的时候有一些帮助。

对于开源框架的研究,对于我们自研数据质量的工具也有巨大的帮助。

1、Apache Griffin

开源数据质量解决方案——Apache Griffin入门宝典一文中,对Griffin有过详细的介绍。

Griffin是一个开源的大数据数据质量解决方案,由eBay开源,它支持批处理和流模式两种数据质量检测方式,是一个基于Hadoop和Spark建立的数据质量服务平台 (DQSP)。它提供了一个全面的框架来处理不同的任务,例如定义数据质量模型、执行数据质量测量、自动化数据分析和验证,以及跨多个数据系统的统一数据质量可视化。

Griffin于2016年12月进入Apache孵化器,Apache软件基金会2018年12月12日正式宣布Apache Griffin毕业成为Apache顶级项目。

Griffin官网地址:https://griffin.apache.org/

Github地址:https://github.com/apache/griffin

Griffin的架构分为三个部分。

各部分的职责如下:

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

数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS  Qualitis_数据

所以本身Griffin带了一个页面,可以通过页面设置进行一些监控结果展示。

数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS  Qualitis_Apache_02

Griffin对部分组件有依赖关系,这点要注意。

JDK (1.8 or later versions)
MySQL(version 5.6及以上)
Hadoop (2.6.0 or later)
Hive (version 2.x)
Spark (version 2.2.1)
Livy(livy-0.5.0-incubating)
ElasticSearch (5.0 or later versions)

当然Giffin也不是万能的,目前Griffin还是有很多的问题的,选择也要慎重:

Griffin的社区并不太活跃,可以共同讨论的人不多。

目前最新版本还是0.6,可能会有一些问题。

网上技术文档很少,当然这方面大数据流动也会不断的输出新的技术文档帮助大家。

2、Deequ

deequ是amazon开源的spark数据质量管理的工具。

其架构图如下所示:

数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS  Qualitis_Apache_03

亚马逊内部正在使用 Deequ 来验证许多大型生产数据集的质量。数据集生产者可以添加和编辑数据质量约束。系统定期计算数据质量指标(使用数据集的每个新版本),验证数据集生产者定义的约束,并在成功时将数据集发布给消费者。在错误情况下,可以停止数据集发布,并通知生产者采取行动。数据质量问题不会传播到消费者数据管道,从而减少它们的爆炸半径。

要使用 Deequ,让我们看一下它的主要组件。

指标计算——Deequ 计算数据质量指标,即完整性、最大值或相关性等统计数据。Deequ 使用 Spark 从 Amazon S3 等源中读取数据,并通过一组优化的聚合查询计算指标。您可以直接访问根据数据计算的原始指标。
约束验证——作为用户,您专注于定义一组要验证的数据质量约束。Deequ 负责导出要在数据上计算的所需指标集。Deequ 生成数据质量报告,其中包含约束验证的结果。
约束建议- 您可以选择定义自己的自定义数据质量约束,或使用自动约束建议方法来分析数据以推断有用的约束。

Deequ 和 Spaek关联密切,使用Spark技术框架的可以考虑,目前Deequ 已经更新到2.X版本,使用的也比较多,社区较为活跃。

Github地址:

https://github.com/awslabs/deequ

3、Great Expectations

可能很多同学对这个框架比较陌生,但是在数据科学领域great_expectations可是一个很火的框架。

github地址:https://github.com/great-expectations/great_expectations

目前标星已近7K。

数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS  Qualitis_数据质量_04

Great expectations是一个python的工具包,Python近几年在数据分析领域大放异彩,而Python本身对于数据质量问题的解决一直是一个大问题。而Great expectations正好弥补了这方面的不足。

由于对Python支持良好,部分公司采用Airflow,Great expectations等Python技术栈来进行数据质量的解决方案建设。

Great expectations社区非常活跃,最新版本为0.15,但是版本更新非常快,bug修复也很快,值得长期关注。

4、Qualitis

对于微众那套大数据平台熟悉的同学,对于Qualitis不会陌生。

Qualitis是一个支持多种异构数据源的质量校验、通知、管理服务的数据质量管理平台,用于解决业务系统运行、数据中心建设及数据治理过程中的各种数据质量问题。

Qualitis基于Spring Boot,依赖于Linkis进行数据计算,提供数据质量模型构建,数据质量模型执行,数据质量任务管理,异常数据发现保存以及数据质量报表生成等功能。并提供了金融级数据质量模型资源隔离,资源管控,权限隔离等企业特性,具备高并发,高性能,高可用的大数据质量管理能力。

Github地址为:

https://github.com/WeBankFinTech/Qualitis

官网给出了其余Griffen的对比,优势还是很多的。

数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS  Qualitis_数据质量_05

目前Qualitis有社区支持,整体还是很活跃的。

但是由于Qualitis对Linkis的依赖,灵活性要差一些,要用就得用全套的。

总之,对于数据质量工具的探索还不能停止,也期待更多优质的项目和工具的出现,我们会保持持续的关注。

数据治理的理论体系比较健全,但是实践工具太少,可以参考的工具也太少。



标签:Griffin,Great,expectations,Deequ,VS,质量,预研,数据,Qualitis
From: https://blog.51cto.com/u_14500431/6966079

相关文章

  • K3s vs K8s:轻量级和全功能的对决
    Kubernetes,通常缩写为K8s,是领先的容器编排工具。该开源项目最初由Google开发,帮助塑造了现代编排的定义。该系统包括了部署和运行容器化系统所需的一切。社区供应商基于Kubernetes创建了适用于不同用例的独立发行版。K3s[1] 是由Rancher创建的一种kubernetes流行发行版,现......
  • vsvim配置
    setai"自动缩进宽度setsw=4setts=4"关闭高亮显示setnohlsearchsetissetignorecasesetbackspace=indent,eol,startsetclipboard=unnamedsetnumber:nnoremap..<Esc>"重新生成选中项目的解决方案快捷键:nnoremap,b:vscBuild.RebuildSelection<CR......
  • TDengine vs InfluxDB:写入速度领先 16.2 倍,查询速度超百倍
    为了验证TDengine3.0在IoT场景下的性能,我们针对第三方基准性能测试平台TSBS(TimeSeriesBenchmarkSuite)中的IoT场景,预设了五种规模的卡车车队基础数据集,在相同的AWS云环境下对TDengine3.0和InfluxDB1.8(该版本是InfluxDB能够运行TSBS框架的最新版本)进行了对比......
  • Mac vscode 远程编译
    标签: vscode   goland   golang  远程配置环境配置远程调试对于大型的Golang项目往往我都会使用Goland这样的专业IDE,但是由于我本地开发环境硬件资源偏低,不能很顺畅的使用Goland,这个时候我们就可以使用VSCode来代替Goland,另外VSCode同样还支持远程开......
  • VMware vSphere HA主机状态故障排除方法
    VmwarevCenterServer和ESXi主机在运行时难免遇到这样那样或潜在的故障,那么如何提前知晓这些故障或处理这些故障呢,在此小编支支招VMwarevSphereHA主机状态故障的排除方法。1、VMwarevSphereHA主机状态故障排除方法一般情况下,vCenterServer会报告vSphereHA主机状况,......
  • RVTools:vSphere第三方免费工具
    可以直观的显示每台虚拟机的信息,如CPU、内存、网络、HBA卡等,总之,通过该工具,可以使你很快的得到一份完整的虚拟化平台的数据,在后期编写文档或者作为其它项目实施时的参考信息。一、下载:RVTools最新版本4.4.3(更新时间:June23,2023)RVTools4.4.3 下载地址也放一个百度网盘链......
  • CVS命令深入研究 zz
    CVS命令深入研究 作者:leizhimin日期:2006-11-2 环境:Windowsserver2003sp1简体中文版cvsnt-2.5.03.2260.msi目录:一、CVS命令整体结构二、CVS帮助察看方法概述三、CVS选项四、CVS命令五、CVS命令缩写六、C......
  • 无法安装或配置 vSphere HA 代理
    HA的全称是HighAvailability(高可用性)。VMwareHA群集一般具有一个包括两个或者两个以上ESX主机的逻辑队列。在一个HA群集中,每一台VMwareESX服务器配有一个HA代理,持续不断地检测群集中其他主的心跳信号。假如某台ESX主机在连续三个时间间隔后都还没有发出心跳信号,那么该主机就......
  • 正点原子ARM裸机开发002---VScode软件安装与使用
    一、下载安装VScodeWindows:直接拖拽软件文件夹中的安装包进行安装Ubuntu:用filezilla传输到Ubuntu下~/linux/tool文件夹中使用以下命令进行安装:sudodpkg-icode_1.32.3-1552606978_admin64.deb 安装完成以后,去文件---计算机---usr---share---application文件......
  • 第一节:Lvs软件负载技术详解
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......