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