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