數據品質管理工具預研——Griffin VS Deequ VS Great expectations 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官網地址://griffin.apache.org/

Github地址://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地址:

//github.com/awslabs/deequ

3、Great Expectations

可能很多同學對這個框架比較陌生,但是在數據科學領域great_expectations可是一個很火的框架。

github地址://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地址為:

//github.com/WeBankFinTech/Qualitis

官網給出了其餘Griffen的對比,優勢還是很多的。

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

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

總之,對於數據品質工具的探索還不能停止,也期待更多優質的項目和工具的出現,我們會保持持續的關注。

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

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

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

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