
資訊中心
?數(shù)據治理:數(shù)據倉庫的數(shù)據質量如何管理?
現(xiàn)在數(shù)據倉庫層面的工作日益增加,開發(fā)人員也越來越多,如何保障數(shù)據準確性是一項非常重要的工作,數(shù)據倉庫的很多應用數(shù)據是直接呈現(xiàn)給用戶或者支撐企業(yè)分析決策的,容不得數(shù)據出現(xiàn)錯誤。
因此,我們迫切需要制定一套數(shù)據的準確性驗證流程,讓大家都按照規(guī)范流程來做,保障數(shù)據的準確性。
數(shù)據指標管理
首先,我們看下數(shù)據倉庫的數(shù)據流程,要確認計算出的指標正確,就要保證數(shù)據源的準確和邏輯的準確。
所以開發(fā)前需要確認需求的準確性。根據“需求模板”完善開發(fā)的需求,遇到模糊定義,需要和業(yè)務人員確認指標口徑的準確性。
開發(fā)數(shù)據指標過程分為四部分:看、查、管、控。
· 數(shù)據指標管理:看
首先我們要對開發(fā)出的指標結果數(shù)據進行查看,是否有一些明顯的異常,比如某個數(shù)據值不在正常范圍內,如車速大于500KM/h,或者統(tǒng)計的總數(shù)過大,比如某城市人口2億人等。
通過“看”找出異常指標數(shù)據,并予以解決。
· 數(shù)據指標管理:查
查,分為測試驗證和上線審核,兩個步驟。
測試驗證方法如下:
1、總量核對:核對上下兩步的數(shù)據總條數(shù),沒有過濾條件的話是一致的。
2、多維度統(tǒng)計:復雜的多維度指標拆分成單維度SQL統(tǒng)計,對每個指標分別進行核查。
3、多表關聯(lián)統(tǒng)計,拆分成中間表核對每一步驟的指標。
4、明細到指標統(tǒng)計,比如隨機找一臺車的明細和最后統(tǒng)計的指標進行核對。
5、新老統(tǒng)計對比,比如有些指標是遷移或者之前業(yè)務手工制作,可以將開發(fā)后的新指標同老指標進行對比。
測試需要有專門的數(shù)據測試人員進行測試,輸出測試用例和測試報告。
上線審核方法如下:
需要對上線的SQL代碼進行審核,主要從以下幾個方面:
1、對查詢表的where后面的條件、join關聯(lián)字段、group by分組字段等重點檢查邏輯,和需求理解結合審核。
2、數(shù)據集命名、數(shù)據集字段命名、任務名稱進行審核,是否按照數(shù)據倉庫建設規(guī)范中的業(yè)務域、維度、原子指標、修飾類型、修飾詞、時間周期、派生指標等標準進行命名。
3、代碼注釋審核,每一步處理需要有注釋該步驟的作用,每個指標也要有注釋,where條件等也要添加注釋。
4、重要任務是否開啟短信告警,任務啟動時間等審核。
5、任務上線的位置是否符合上線標準,比如上線的數(shù)據層級與業(yè)務層級等。
上線審核需要審核人員按照以上步驟進行審核,對不合理的地方進行指正,審核人員和開發(fā)人員共同保障代碼質量。
· 數(shù)據指標管理:管
開發(fā)過程中,大家需要遵循一些流程規(guī)則,以確保指標的定義,開發(fā)的準確性。
1.需求上線時候需要在知識庫中完成所開發(fā)需求邏輯說明。
2.復雜需求(比如項目指標),需要團隊至少兩人以上評審需求后開發(fā)。
3.提交上線申請的同事需要備注上需求邏輯說明。
4.審核上線人員為“輪值”,審核上線人員需要review開發(fā)人員的代碼,需要和開發(fā)人員共同承擔代碼質量。
· 數(shù)據指標管理:控
指標開發(fā)完成后,需要對指標的波動情況進行監(jiān)控,發(fā)現(xiàn)波動較大的進行核查,指標波動范圍需要具體業(yè)務具體制定,需要業(yè)務人員協(xié)助確認。常用的數(shù)據質量監(jiān)控方法如下:
1、校驗每天的記錄數(shù)
分析師遇到的最常見數(shù)據異常是其報告的輸出突然降至0。
我們通常會發(fā)現(xiàn)最后的罪魁禍首是當天沒有將新記錄添加到相應的表中。
一種簡單的檢查方法是確保每天一個表中的新記錄數(shù)>0。
2、NULL和0值校驗
分析師常遇到的第二個問題是NULL或0值。我們要保證每天增量數(shù)據中的NULL或0值不能超過新增數(shù)據的99%。要檢查這一點,只需將一個循環(huán)腳本設置為每天用NULL或0計數(shù)一個表中的新記錄數(shù)。如果看到記錄數(shù)急劇增加,則可能存在轉換錯誤或源業(yè)務系統(tǒng)就存在異常。
3、每天新增的記錄數(shù)波動范圍
某一天你發(fā)現(xiàn)數(shù)據量出現(xiàn)大幅增加或下降,而規(guī)則1和2都已校驗通過。這種波動可能是正常的,比如電商行業(yè)某天的大促活動,或者社交軟件的營銷活動。但是也可能這就是異常的,是因為從源系統(tǒng)抽取了重復的記錄。
所以針對此種情況,我們也要制定數(shù)據質量規(guī)則,檢查這些波動何時發(fā)生,并主動進行診斷。比如自動執(zhí)行的一個簡單的SQL過程,每天檢查COUNT個新記錄是否在7天跟蹤平均值的誤差范圍內。閾值和誤差范圍可能因公司和產品而異,經驗值一般是加減25%。當然,你也可以直接和前一天的數(shù)據對比,增量不超過前一天的1倍。
4、數(shù)據唯一值校驗
不管是電商系統(tǒng)、社交系統(tǒng)或者是物聯(lián)網設備上報的數(shù)據,正常情況下都不會出現(xiàn)兩條完全一樣的記錄(包括ID,時間,值都一樣)。筆者曾遇到一個終端上報的兩條數(shù)據完全一樣的場景,導致我在做時間分段時候,劃分不正確。所以,對數(shù)據值唯一性校驗是有必要的。
5、數(shù)據時間校驗
一般我們業(yè)務系統(tǒng)的數(shù)據都是帶有時間戳的,這個時間戳肯定比當前的時間要小。但是由于采集數(shù)據設備異常(業(yè)務系統(tǒng)異常),我們會碰到“未來時間”的數(shù)據,那如果我們以時間作為分區(qū),后期可能就會出現(xiàn)異常的分析結果。當然,如果你的公司業(yè)務是跨國的,你需要考慮時差因素。
寫在最后的話
通過以上內容,我們對如何管控數(shù)據倉庫的數(shù)據質量管理方法和流程有了初步的認識。對于不同的業(yè)務或者公司,還是需要團隊小伙伴或者業(yè)務側一起制定相關的數(shù)據治理解決方案,不斷完善監(jiān)控體系,只有這樣才能保證我們的業(yè)務分析結果是準確的,才能指導公司做出正確的決策。
鏈接:https://www.toutiao.com/a6987934317440025125/?channel=&source=search_tab
————————————————————————————————————————————
免責聲明:本文轉載自網絡,所發(fā)內容不代表本網站立場,如有侵權請聯(lián)系刪除。