【產品規劃】實現一個智能化的數據清洗工具(系列二)

數據清洗是數據分析過程中最基礎的工作,也是最累、最繁瑣的部分,不像數據挖掘、數據分析看起來那麼光鮮,做起來枯燥乏味。當然,這也與數據清洗工具的自動化程度不高,需要人肉去完成大量的ETL開發工作有極大的關係。爲了改善這種局面,可以讓ETL工程師減少重複性的編碼工作,將更多的精力投入到數據分析當中,更加有效地發揮人的聰明才智,提升數據價值。下面是加入了“智能化”元素的數據清洗流程圖。
在這裏插入圖片描述

  1. 構建數據質量探查規則。傳統的數據質量分析(或探查)是需要人工分析數據字典、數據內容後,設計並配置相關的質量分析規則,包括完整性、唯一性、一致性、有效性、準確性等幾個方面。這個過程費時費力,因此一般清洗前的數據質量分析都是手工完成的,由工程師根據經驗編寫SQL腳本完成分析。上面流程中的“生成數據質量探查規則”,可以根據源庫的數據結構、數據字典、數據標準等,利用挖掘算法(語義分析、聚類算法等),識別出業務主鍵、業務關鍵字段、字段含義等,匹配內置的質量檢查規則模板,自動生成所有表的質量探查規則。經人工檢查完善後配置到系統中,形成數據質量探查任務;
  2. 數據質量報告。執行數據質量探查任務後生成報告,報告包括兩方面的內容,一是對規則的滿足情況,比如,某張表的某個字段有N條記錄違反了完整性約束等;二是對字段數據的值域分析,用常見的統計算法描述,包括最大值、最小值、平均值、空值等。
  3. 構建數據清洗任務。系統可以根據數據質量規則與數據質量報告,自動構建出合適的清洗任務腳本和清洗流程,除了常見的去重、去空之外,隨着對行業瞭解的不斷加深,也可以將諸如編碼自動補齊等規則加入,比如,企業異常名錄中缺少統一信用代碼,可以自動從法人表中獲取並補齊。
  4. 數據質量標籤。數據清洗不能把所有問題數據都進行修正,對於不能修正的問題數據,將以標籤的形式記錄下來,比如,A字段存在空值、格式不正確等問題,一方面是爲了記錄問題,另一方面也就爲了支撐不同應用場景下的數據分析,根據需求對問題數據進行過濾或其它處理。

上述幾個步驟當中,最關鍵的就是構建質量規則,需要通過對元數據、數據字典等內容的分析挖掘,將字段與預置的規則進行自動匹配,識別的效果除了算法的性能之外,還與字段含義、規則模板等的沉澱有關係,後者往往決定了生成規則的實用性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章