背景
為支持數據倉庫全局的數據質量管控,需做好風險點監控,確保數據的完整性、準確性、及時性、一致性。為此,擬定DQC配置方案&規則,評審通過后落地實施。
目標
- 核心任務dqc覆蓋率100%,質量問題及時知曉
- 非核心任務運行情況知曉概貌
方案
基于數據質量中心提供的能力,實現時效性和數據質量監控。時效監控和etl任務綁定,數據質量監控和數倉中的物理表綁定。
出錯監控
工作流中任務出錯會阻斷下游任務,因此任務出錯需立即發出預警,此功能由平臺提供,無需配置。
時效性監控
任務延遲監控,對超時未完成的任務,及時發出預警。
- 在調度平臺(az/dophlin)上線任務后,在工作流級別配置調度表達式cron
- 在數據質量中心,新建時效性規則,綁定對應任務,設定最大運行時長
- 數據質量質量中心后臺調度,每2分鐘掃描時效性規則,并根據工作流cron表達式,當前時間計算任務運行時間是否超出“最大運行時長”,超出即報警
數據質量監控
不同于時效性監控,數據質量監控需要主動觸發執行。即數據質量監控需要在etl任務執行后,check文件生成前,主動觸發數據質量規則校驗。規則校驗未通過則報警,并且根據強弱規則,判定是否生成check文件和執行下游任務,弱規則生成check文件和繼續執行下游任務,強規則不生成check文件和執行下游任務。
- 改造run_sql.sh腳本,在生成check文件前,觸發規則校驗(@郭奎
- 在數據質量中心,配置表/字段監控規則(@物理表owner)
- 切換azkaban任務中run_sql.sh腳本到run_sql_with_rule.sh
數據質量監控規則
規則 = 邏輯 + 期望值
邏輯用于檢測統計,期望值用于預警。統計結果不符合期望值即規則校驗不通過
規則類型 | 規則明細類型 | 規則 | 邏輯 | 比較方式(>、 | 期望值 |
字段規則 | 規范 | 主鍵唯一 | 主鍵重復的條數 | = | 0 |
非空校驗 | 字段值為空的條數 | = | 0 | ||
枚舉值校驗 | 枚舉值不在所給的枚舉值列表中的條數 | = | 0 | ||
范圍 | 最大值 | 所選字段最大值 | 自選 | 自填 | |
最小值 | 所選字段最小值 | 自選 | 自填 | ||
平均值 | 所選字段平均值 | 自選 | 自填 | ||
總和 | 所選字段總和 | 自選 | 自填 | ||
同比/環比 | 同比/環比 | 所選字段同比/環比 | 自選 | 自填 | |
表規則 | 數據行數 | 行數 | 數據行數 | 自選 | 自填 |
同比/環比 | 數據行數同比/環比 | 自選 | 自填 | ||
數據文件 | 文件大小 | 數據文件大小 | 自選 | 自填 | |
同比/環比 | 數據文件大小同比/環比 | 自選 | 自填 | ||
自定義規則 | 自定義 | 自定義規則 | 自定義sql(正則、業務校驗) | 自選 | 自填 |
監控細則
Y-必須監控;
T-電話告警;
S-釘釘or飛書告警;
F強規則/W弱規則
空格-可選
風險點監控 | 風險點描述 | 規則 | 數據資產等級 | ||||
A1 | A2 | A3 | A4 | A5 | |||
出錯監控 | 任務出錯 | 平臺提供 | Y&T | Y&T | Y&T | Y&S | Y&S |
延遲監控 | 任務延遲 | 時效性監控 | Y&T | Y&T | Y&T | Y&S | Y&S |
表監控 | 分區數據行數波動 | 同比/環比 | Y&T&F | Y&T&F | |||
自定義 | |||||||
字段監控 | 主鍵重復 | 主鍵唯一 | Y&T&F | Y&T&F | Y&T&F | Y&S&F | Y&S&F |
核心指標,重要維度為空 | 非空校驗 | Y&T | Y&T | ||||
字段值不在所給的枚舉值列表中 | 枚舉值校驗 | ||||||
核心指標波動 | 同比/環比 | ||||||
自定義 |
- 配置規則時,每張表分別配置強、弱兩個規則,強規則下增加規則明細類型統一為“強”,若規則下增加規則明細類型統一為“弱”。
- 除上述必須配置的監控外:
- A1~A2任務:3+表/字段規則,1+自定義業務校驗規則,其中2+強規則
- A3~A5任務:3+表/字段規則,其中2+強規則
規則統計
數據質量規則統計
節奏
- 時效性監控測試,2021-04-14 ~ 2021-04-16
- 數據質量監控測試,2021-04-19 ~ 2021-04-23
- 規則細化 @郭奎
- 核心任務時效性和數據質量監控配置覆蓋率100% @物理表owner
- 非核心任務,時效規則、數據質量規則配置
期待
數據質量中心功能已經非常強大,非常豐富。但是規則配置略微繁瑣,且需要二次跳轉。期待平臺做一些微調,提升易用性
- 出錯監控
- 數據開發界面嵌入數據質量配置
- 核心任務,時效性監控默認配置,包括出錯監控,延遲監控
- 規則配置語義更清晰
- 監控大盤