淺談網(wǎng)易大數(shù)據(jù)平臺下的數(shù)據(jù)質(zhì)量
大數(shù)據(jù)平臺的核心理念是構(gòu)建于業(yè)務(wù)之上,用數(shù)據(jù)為業(yè)務(wù)創(chuàng)造價(jià)值。大數(shù)據(jù)平臺的搭建之初,優(yōu)先滿足業(yè)務(wù)的使用需求,數(shù)據(jù)質(zhì)量往往是被忽視的一環(huán)。但隨著業(yè)務(wù)的逐漸穩(wěn)定,數(shù)據(jù)質(zhì)量越來越被人們所重視。
千里之堤,潰于蟻穴,糟糕的數(shù)據(jù)質(zhì)量往往就會(huì)帶來低效的數(shù)據(jù)開發(fā),不準(zhǔn)確的數(shù)據(jù)分析,最終導(dǎo)致錯(cuò)誤的業(yè)務(wù)決策。而網(wǎng)易也在數(shù)據(jù)質(zhì)量方面不斷探索,本文將對網(wǎng)易有數(shù)大數(shù)據(jù)平臺的子產(chǎn)品,數(shù)據(jù)質(zhì)量中心的現(xiàn)狀及規(guī)劃方向進(jìn)行簡要介紹。
1背景
網(wǎng)易有數(shù)大數(shù)據(jù)平臺對數(shù)據(jù)的全生命周期都進(jìn)行了管理,從數(shù)據(jù)規(guī)劃開始,到數(shù)據(jù)準(zhǔn)備、模型的設(shè)計(jì)、模型開發(fā)采取了全鏈路的質(zhì)量管理措施,數(shù)據(jù)質(zhì)量中心是其數(shù)據(jù)治理的重要一環(huán)。
追根溯源,導(dǎo)致數(shù)據(jù)出現(xiàn)質(zhì)量問題的原因有很多,總的來看,主要有業(yè)務(wù)、技術(shù)、管理、基礎(chǔ)設(shè)施四個(gè)方面:
- 業(yè)務(wù)端:業(yè)務(wù)源系統(tǒng)變更(源系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)變更、源系統(tǒng)環(huán)境變更)、業(yè)務(wù)端數(shù)據(jù)輸入不規(guī)范等;
- 技術(shù)端:數(shù)據(jù)開發(fā)任務(wù)中各種任務(wù)的流程、參數(shù)、配置等出錯(cuò);
- 管理端 :認(rèn)知層面缺乏質(zhì)量意識、缺乏有效的數(shù)據(jù)質(zhì)量問題處理機(jī)制等;
- 基礎(chǔ)設(shè)施:物理資源不足、基礎(chǔ)設(shè)施不穩(wěn)定等。
數(shù)據(jù)質(zhì)量中心圍繞著事前定義監(jiān)控規(guī)則、事中監(jiān)控?cái)?shù)據(jù)生成、事后質(zhì)量衡量評估三個(gè)部分建立全鏈路監(jiān)控。能夠在數(shù)據(jù)開發(fā)的過程中,及時(shí)發(fā)現(xiàn)臟數(shù)據(jù),防止臟數(shù)據(jù)污染下游任務(wù),提高質(zhì)量監(jiān)控效率。
數(shù)據(jù)質(zhì)量中心在大數(shù)據(jù)平臺所處的位置如上圖所示,主要服務(wù)于開發(fā)階段中的離線開發(fā)。而具體操作時(shí),首先在數(shù)據(jù)質(zhì)量中心創(chuàng)建監(jiān)控任務(wù),選擇需要監(jiān)控的對象,然后針對監(jiān)控對象配置表級以及字段級設(shè)置監(jiān)控規(guī)則。在離線開發(fā)任務(wù)中,去綁定質(zhì)量監(jiān)控任務(wù),并針對質(zhì)量監(jiān)控配置報(bào)警。離線開發(fā)配置完成后,可以在數(shù)據(jù)質(zhì)量中心查看表質(zhì)量評估相關(guān)內(nèi)容,包括查看質(zhì)量大屏、表質(zhì)量評分以及監(jiān)控任務(wù)的執(zhí)行趨勢等。下面將分別在質(zhì)量規(guī)則、質(zhì)量監(jiān)控任務(wù)、質(zhì)量結(jié)果評估等幾個(gè)方面進(jìn)行介紹。
2定義數(shù)據(jù)質(zhì)量需求和規(guī)則
DAMA國際數(shù)據(jù)管理協(xié)會(huì)定義了數(shù)據(jù)質(zhì)量維度,包括準(zhǔn)確性、完整性、一致性、合理性、參照完整性、及時(shí)性、唯一性、有效性、精確度、隱私、時(shí)效性。而對于不同的業(yè)務(wù)和行業(yè),對于質(zhì)量的需求有所不同。數(shù)據(jù)質(zhì)量中心為質(zhì)量監(jiān)控提供了表級、字段級的規(guī)則模板,并支持通過SQL進(jìn)行自定義的規(guī)則及規(guī)則模板的創(chuàng)建。
如下圖所示,在為選定的監(jiān)控對象配置規(guī)則時(shí),可以選擇模板規(guī)則或自定義規(guī)則。若選擇了模板規(guī)則,針對需要監(jiān)控的字段,選擇已經(jīng)配置好的規(guī)則模板并填寫期望范圍,設(shè)置期望規(guī)則命中行數(shù)或者規(guī)則命中行數(shù)比率。針對需要監(jiān)控的表,也可以選擇表級的規(guī)則。若現(xiàn)有的規(guī)則模板不滿足需求,可以進(jìn)入"自定義規(guī)則"的功能界面,針對字段級書寫SQL語句。
在配置規(guī)則時(shí),選擇當(dāng)前監(jiān)控規(guī)則為強(qiáng)規(guī)則還是弱規(guī)則,若為強(qiáng)規(guī)則,當(dāng)規(guī)則不通過時(shí),任務(wù)會(huì)置為失敗狀態(tài),停止運(yùn)行;若為弱規(guī)則,當(dāng)規(guī)則不通過時(shí),任務(wù)會(huì)繼續(xù)運(yùn)行。
數(shù)據(jù)質(zhì)量中心還在進(jìn)行更豐富靈活的規(guī)則模板的設(shè)計(jì),實(shí)現(xiàn)固定值、波動(dòng)值、波動(dòng)率的監(jiān)控,讓用戶靈活配置比較周期、計(jì)算方式、符號、閾值等。并對規(guī)則和模板進(jìn)行圍繞著準(zhǔn)確性、完整性、一致性等維度的分類,便于用戶進(jìn)行配置和管理。
同時(shí),數(shù)據(jù)質(zhì)量中心也在不斷提高質(zhì)量監(jiān)控的基礎(chǔ)能力,除目前已經(jīng)支持配置質(zhì)量監(jiān)控任務(wù)的hive類型外,還在陸續(xù)支持MYSQL、MPP等多種數(shù)據(jù)源類型的質(zhì)量監(jiān)控,并配備相應(yīng)規(guī)則模板。
3持續(xù)測量和監(jiān)控?cái)?shù)據(jù)質(zhì)量
目前,在數(shù)據(jù)質(zhì)量中心配置好的質(zhì)量監(jiān)控任務(wù)在離線開發(fā)任務(wù)的節(jié)點(diǎn)上被引用,能夠?qū)崿F(xiàn)自動(dòng)執(zhí)行。
對于質(zhì)量監(jiān)控任務(wù),質(zhì)量異常和質(zhì)量檢測失敗能夠靈活的配置告警,支持郵件、短信等多種接收方式。質(zhì)量問題一旦發(fā)生就是木已成舟,通過任務(wù)中規(guī)則的強(qiáng)弱設(shè)置,實(shí)現(xiàn)對下游任務(wù)的及時(shí)阻斷,能夠達(dá)到亡羊補(bǔ)牢的效果。
數(shù)據(jù)質(zhì)量中心也在不斷探索新的質(zhì)量監(jiān)控任務(wù)在離線開發(fā)任務(wù)中的掛載和線上調(diào)度邏輯,如同一質(zhì)量監(jiān)控任務(wù)掛載多個(gè)數(shù)據(jù)任務(wù)、核心通用規(guī)則自動(dòng)掛載。支持質(zhì)量監(jiān)控任務(wù)定時(shí)及智能調(diào)度,優(yōu)先部署到核心業(yè)務(wù),必要時(shí)停止非核心任務(wù),以減少高峰期集群資源的擁擠現(xiàn)象。
4數(shù)據(jù)質(zhì)量管理和評估
事實(shí)上,再嚴(yán)格的預(yù)防措施和監(jiān)控都無法完全避免數(shù)據(jù)質(zhì)量問題的發(fā)生,事后的管理和評估就尤為重要了。數(shù)據(jù)質(zhì)量中心針對每個(gè)監(jiān)控任務(wù),查看執(zhí)行趨勢,支持快速定位異常/失敗的執(zhí)行實(shí)例。
此外,還提供質(zhì)量大屏和質(zhì)量評估,從表負(fù)責(zé)人角度和表的角度評估項(xiàng)目質(zhì)量情況。分別展示當(dāng)前項(xiàng)目下表質(zhì)量平均分、線上調(diào)度和配置的規(guī)則總量、表覆蓋量和任務(wù)調(diào)度的監(jiān)控量等內(nèi)容。
下一階段將在質(zhì)量責(zé)任制方面發(fā)力,一是數(shù)據(jù)質(zhì)量要支持事故閉環(huán)回溯,從發(fā)現(xiàn)到上報(bào)到定位分析處理到跟蹤到反饋。二是數(shù)據(jù)質(zhì)量的責(zé)任落實(shí)人,沒有績效就沒有動(dòng)力,能夠加強(qiáng)工作人員對質(zhì)量問題的重視。
打造更加詳細(xì)豐富的質(zhì)量報(bào)告,實(shí)現(xiàn)事前質(zhì)量監(jiān)控覆蓋率;事中任務(wù)阻塞數(shù)、報(bào)警數(shù)等統(tǒng)計(jì)呈現(xiàn);事后問題原因、責(zé)任人、解決情況等全方位的統(tǒng)計(jì)管理。
5拓寬數(shù)據(jù)質(zhì)量相關(guān)能力邊界
數(shù)據(jù)治理的常態(tài)化是數(shù)據(jù)質(zhì)量問題的最好解決方式,搭建數(shù)據(jù)質(zhì)量中心能夠極大程度的解決技術(shù)原因?qū)е聰?shù)據(jù)質(zhì)量問題。而對于業(yè)務(wù)端和管理端原因造成的質(zhì)量問題,則需要我們在產(chǎn)品層面不斷拓寬數(shù)據(jù)質(zhì)量相關(guān)能力邊界。
如進(jìn)行數(shù)據(jù)認(rèn)責(zé),明確數(shù)據(jù)的主人,使用人,管理人員,結(jié)合質(zhì)量監(jiān)控結(jié)果進(jìn)行績效推薦與打分。采用量化管理機(jī)制,分等級和優(yōu)先級進(jìn)行管理,將嚴(yán)重的數(shù)據(jù)質(zhì)量問題或事件可以升級為故障,并對故障進(jìn)行定義、等級劃分、預(yù)置處理方案和復(fù)盤。
數(shù)據(jù)質(zhì)量中心將不斷拓寬數(shù)據(jù)質(zhì)量相關(guān)能力邊界,以支持更豐富的監(jiān)控對象為基礎(chǔ)。在規(guī)則、監(jiān)控模板、監(jiān)控任務(wù)等幾個(gè)模塊不斷優(yōu)化產(chǎn)品,并在協(xié)助用戶搭建標(biāo)準(zhǔn)的質(zhì)量管理體系方向不斷探索。
6總結(jié)
網(wǎng)易有數(shù)大數(shù)據(jù)平臺還聚焦數(shù)據(jù)標(biāo)準(zhǔn)的規(guī)劃設(shè)計(jì),從數(shù)據(jù)的源頭控制好數(shù)據(jù)質(zhì)量,實(shí)現(xiàn)對海量數(shù)據(jù)的標(biāo)準(zhǔn)化管理,為解決質(zhì)量問題提供基礎(chǔ)。
數(shù)據(jù)質(zhì)量中心也將繼續(xù)在事前預(yù)防、事中預(yù)警、事后補(bǔ)救的三個(gè)方面不斷進(jìn)行產(chǎn)品改進(jìn)采取有效措施,形成完整的數(shù)據(jù)治理體系。如果大家對數(shù)據(jù)治理及數(shù)據(jù)質(zhì)量有些興趣,或者有相關(guān)建議,歡迎在留言區(qū)評論探討。
作者簡介:楚喬,網(wǎng)易有數(shù)產(chǎn)品經(jīng)理,負(fù)責(zé)大數(shù)據(jù)平臺數(shù)據(jù)質(zhì)量工作,前路漫漫,道阻且長,和產(chǎn)品一起成長。