構建滿足流批數據質量監控用火山引擎DataLeap
面對今日頭條、抖音等不同產品線的復雜數據質量場景,火山引擎DataLeap數據質量平臺如何滿足多樣的需求?本文將介紹我們在彌合大數據場景下數據質量校驗與計算消耗資源大、校驗計算時間長的沖突等方面的經驗。
廣義上來說,數據質量的定義是數據滿足一組固有特性(質量維度)要求的程度。業界通常有 6 個維度:完整性、準確性、一致性、及時性、規范性、唯一性。這方面火山引擎DataLeap研發人員對數據質量有一些流程和規范,并針對上述一些維度開發了一套數據質量平臺,主要關注數據質量及其生產鏈路。
上圖展示了在數據開發的流程中,火山引擎DataLeap數據質量平臺可以提供哪些功能:
數據探查:可以根據各種維度來查看數據明細和分布情況。
數據對比:開發同學可能經常會發現線上表和測試表不一致,所以我們在任務上線的環節提供了數據對比的功能。
任務監控:監控線上數據,提供報警和熔斷功能。
火山引擎DataLeap數據質量平臺最有代表性的功能是:對數據開發平臺產出的 Hive 表數據進行主鍵重復檢測,如果存在重復則進行報警。
火山引擎DataLeap數據質量監控最有用的場景是防止數據問題蔓延到下游。舉個例子:數據任務產出一張 Hive 表,該表可能會同步一些信息到 Hive metastore(HMS)。HMS 的主從架構可能存在一定的延遲,假設 HMS 出現問題,下游任務可能會讀到臟數據,這時如果我們使用數據質量監控,就能及時發現問題,阻止下游任務運行。
火山引擎DataLeap流批數據質量解決方案有 4 個大的功能:
離線數據質量監控:解決批和微批監控場景,支持 Hive、ClickHouse、ES 等多種數據源,并有字段、唯一性等多種監控維度,允許通過 SQL 自定義維度聚合進行監控。
流式數據質量監控:解決流式監控場景,支持 Kafka/BMQ 等數據源。
數據探查:解決數據開發之前對數據內容存疑問題,支持 Hive 數據源。
數據對比:解決新舊表數據一致性問題,支持 Hive/Hive SQL 數據源。
本文介紹了火山引擎DataLeap數據質量平臺的實現,最后談談平臺未來的演進方向。
底層引擎統一,流批一體:我們看到 Flink 目前的 presto 能力和 Flinkbatch 的能力也在不斷發展,因此我們后續會嘗試切一些任務,做到真正意義上的統一引擎。
智能:引入算法進行數據驅動。考慮引入 ML 方法輔助閾值選取或者智能報警,根據數據等級自動推薦質量規則。
便捷:OLAP 對性能提升比較顯著,后續可以將 OLAP 引擎應用于質量檢測、數據探查、數據對比應用與數據開發流程。
優化:比如通過單一 Job,同時運行多個監控,將監控和數據探查結合。
本文介紹的數據質量監控的能力目前大部分已通過火山引擎DataLeap對外提供服務。
轉載請在文章開頭和結尾顯眼處標注:作者、出處和鏈接。不按規范轉載侵權必究。
未經授權嚴禁轉載,授權事宜請聯系作者本人,侵權必究。
本文禁止轉載,侵權必究。
授權事宜請至數英微信公眾號(ID: digitaling) 后臺授權,侵權必究。
評論
評論
推薦評論
暫無評論哦,快來評論一下吧!
全部評論(0條)