資料質量管理工具預研——Griffin VS Deequ VS Great expectations VS Qualitis

獨孤風發表於2022-07-18

開源資料質量管理工具預研——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帶了一個頁面,可以通過頁面設定進行一些監控結果展示。

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資料質量管理的工具。

其架構圖如下所示:

亞馬遜內部正在使用 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。

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的對比,優勢還是很多的。

目前Qualitis有社群支援,整體還是很活躍的。

但是由於Qualitis對Linkis的依賴,靈活性要差一些,要用就得用全套的。

總之,對於資料質量工具的探索還不能停止,也期待更多優質的專案和工具的出現,我們會保持持續的關注。

資料治理的理論體系比較健全,但是實踐工具太少,可以參考的工具也太少。

為了更專注提高效率,目前資料治理相關學習交流群按不同方向做了區分,歡迎大家掃碼入群:

另外 資料治理工具箱 知識星球也已成立,這是一個資料治理落地實踐方向的知識星球。大資料流動釋出的資料治理相關文章與資料(包括付費內容)都將在知識星球進行長期同步。星球的目標是收集資料治理實踐工具的相關資料,並定期組織實戰學習小組,讓資料治理的相關資料可以長久的儲存,同時也解決文章被頻繁抄襲的問題,歡迎大家加入。

最後提醒,文件版權為公眾號 大資料流動 所有,請勿商用。相關技術問題以及安裝包可以聯絡筆者獨孤風加入相關技術交流群討論獲取。

相關文章