DataWorks的數據質量監控節點可通過配置數據質量監控規則,監控相關數據源表的數據質量(例如,是否存在臟數據)。同時,支持您自定義調度策略,周期性執行監控任務進行數據校驗。本文為您介紹如何使用數據質量監控節點進行任務監控。
背景信息
DataWorks的數據質量功能,幫助您感知源端數據的變更與ETL(Extract Transformation Load)中產生的臟數據,自動攔截問題任務,有效阻斷臟數據向下游蔓延。避免任務產出不符合預期的問題數據,影響正常使用和業務決策。同時也能顯著降低問題處理的時間成本,避免任務重新運行帶來的資源費用浪費,詳情請參見數據質量。
使用限制
支持監控的表類型:MaxCompute、E-MapReduce、Hologres、CDH Hive、AnalyticDB PostgreSQL、AnalyticDB MySQL、StarRocks。
支持監控的表范圍:
僅支持監控當前節點(即數據質量監控節點)所在工作空間綁定的數據源中的表。
每個節點僅支持監控一張表數據,但支持配置多個監控規則。不同類型的表,其監控范圍如下:
非分區表:默認為全表監控。
分區表:需通過分區表達式指定監控某個分區。
說明若您需要監控多張表,請創建多個節點使用。
支持執行的操作限制:
在數據開發(DataStudio)創建的數據質量監控規則,僅支持在數據開發運行,并執行修改、發布等管理操作。該規則也可在數據質量模塊中查看,但不能觸發調度運行,不允許執行相關管理操作。
若修改數據質量監控節點中配置的監控規則,且發布節點,則該節點原來生成的監控規則會被替換。
支持的地域:
華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、西南1(成都)、中國香港、日本(東京)、新加坡、馬來西亞(吉隆坡)、印度尼西亞(雅加達)、德國(法蘭克福)、英國(倫敦)、美國(硅谷)、美國(弗吉尼亞)。
前提條件
已創建業務流程。
數據開發(DataStudio)基于業務流程執行不同數據源的具體開發操作,因此,創建節點前需先創建業務流程,操作詳情請參見創建業務流程。
已創建數據源并綁定至當前工作空間,且該數據源中已創建待監控表。
已創建資源組。
僅支持使用Serverless資源組運行數據質量監控節點。詳情請參見資源組管理。
(可選,RAM賬號需要)進行任務開發的RAM賬號已被添加至對應工作空間中,并具有開發或空間管理員(權限較大,謹慎添加)角色權限。添加成員并授權,詳情請參見為工作空間添加空間成員。
步驟一:創建數據質量監控節點
進入數據開發頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入數據開發。
右鍵單擊目標業務流程,選擇
。在新建節點對話框輸入節點名稱,單擊確認,節點創建完成,您可在節點中進行對應任務的開發與配置。
步驟二:配置數據質量監控規則
1、選擇待監控表
單擊選擇表,在選擇表對話框根據條件搜索并選擇需要監控的目標表。
2、配置監控數據范圍
非分區表:默認為全表監控,可忽略該步驟。
分區表:需選擇要監控的分區數據,支持使用調度參數。單擊預覽即可驗證分區表達式的計算結果是否正確。
3、配置數據質量監控規則
您可新建規則,也可導入已有規則使用。配置的規則默認為啟用狀態。
新建規則
單擊新建規則,即可基于模板或自定義SQL創建數據質量監控規則,不同方式的介紹及配置詳情如下。
方式一:基于系統模板創建
平臺內置多種監控規則,您可基于規則模板快速創建數據質量監控規則,操作步驟如下圖。
說明您也可在左側系統模板列表,找到所需規則模板,單擊+使用進行創建。
參數
描述
規則名稱
您可以自定義規則名稱。
規則模板
定義需要對表進行哪種類型規則校驗。
數據質量為您提供大量內置表級別、字段級別的監控模板可直接選擇。詳情請參見查看內置規則模板。
說明平均值、匯總值、最小值和最大值僅對數值型字段生效。
規則范圍
該規則應用的范圍,表級別規則默認為當前表,字段級別規則選擇具體字段。
比較方式
定義規則具體怎么校驗表數據是否符合預期。
手動設置:自定義數據產出結果與規則的比較方式。
不同規則模板,可選擇的比較方式不同,具體請以實際界面為準。
支持數值型結果對比,通常與固定值(即期望值)進行比較,比較方式包括大于、大于等于、等于、不等于、小于、小于等于。支持您自定義正常數據范圍(正常閾值)與異常數據范圍(紅色閾值)。
支持波動型結果對比,通常是進行范圍比較,比較方式包括絕對值、上升、下降。支持您自定義正常數據范圍(正常閾值),您還可以根據異常偏離程度定義數據產出存在異常(橙色閾值)與數據產出不符合預期(紅色閾值)。
智能動態閾值:您無需手動配置波動閾值或期望值,系統會根據智能算法,自動判斷合理閾值;若發現數據異常,會即時觸發告警或阻塞。動態閾值也可支持強、弱規則。
說明僅自定義SQL、自定義范圍、動態閾值類型的質量規則支持智能動態閾值比較方式。
監控閾值
當比較方式為手動設置時,您可以自行設置正常閾值與紅色閾值。
正常閾值:當數據質量規則校驗結果滿足此處設置的值時,說明數據校驗符合預期。
紅色閾值:當數據質量規則校驗結果滿足此處設置的值時,說明數據校驗不符合預期。
當規則為波動型校驗時,您需要指定橙色閾值。
橙色閾值:當數據質量規則校驗結果滿足此處設置的值時,說明數據存在異常但不影響業務運行。
保留問題數據
當規則為啟用狀態時,在本條數據質量監控規則校驗不通過的情況下,系統自動創建問題數據表存儲質量規則校驗過程中發現的問題數據。詳情請參見:管理問題數據。
重要目前僅支持MaxCompute表配置保留問題數據功能。
目前僅部分數據質量監控規則支持配置保留問題數據功能。支持保存問題數據的規則,詳情請參見:附錄:支持保留問題數據的規則列表與問題數據口徑。
受啟停狀態影響,若規則為停用狀態,則不執行保留問題數據。
啟用狀態
規則的啟用和停用狀態,用于控制該規則是否在生產環境中運行。
重要狀態設置為停用時,規則將無法觸發測試運行,并且不會被關聯的調度任務觸發運行。
重要程度
設置規則在業務中的強弱程度。
強規則:比較重要的規則,如果出現紅色異常,默認會阻塞質量監控關聯的調度任務的執行。
弱規則:普通規則,如果出現紅色異常,默認不會阻塞質量監控關聯的調度任務的執行。
描述
您可以對該規則進行補充說明。
方式二:基于自定義模板創建
使用該方式之前,您需先前往創建并管理自定義規則模板。
創建自定義規則模板,才可基于該模板創建數據質量監控規則,詳情請參見基于自定義模板創建數據質量規則的操作步驟如下圖。
說明您也可在左側自定義模板列表,找到所需規則模板,單擊+使用進行創建。
此處僅展示自定義規則模板獨有參數,其他參數解釋,請參見系統規則模板參數說明。
配置項
說明
FLAG參數
用于定義需要在數據質量校驗SQL執行前提前執行的SET命令。
SQL
定義完整的SQL校驗邏輯,要求返回結果為一行一列,且結果為數值型。
自定義SQL中,請使用中括號的形式匹配表的分區表達式。示例如下:
select count(*) from ${tableName} where ds=$[yyyymmdd];
說明${tableName}
變量取值將根據實際監控的表動態替換。配置分區表達式,詳情請參見附錄二:內置分區表達式。
如果您為表創建了質量監控,則通過此方式配置規則后,質量監控中設置的數據范圍將不會生效。規則將以此處SQL語句中的WHERE為準,確認需要校驗的表分區。
方式三:基于自定義SQL創建
該方式支持您自定義表的數據質量校驗邏輯。
此處僅展示自定義SQL獨有參數,其他參數解釋,請參見系統規則模板參數說明。
配置項
說明
FLAG參數
用于定義需要在數據質量校驗SQL執行前提前執行的SET命令。
SQL
定義完整的SQL校驗邏輯,要求返回結果為一行一列,且結果為數值型。
自定義SQL中,請使用中括號的形式匹配表的分區表達式。示例如下:
select count(*) from <table_name> where ds=$[yyyymmdd];
說明您需要在實際配置中將
<table_name>
替換為當前實際操作的表名,實際監控的表由此處SQL決定。配置分區表達式,詳情請參見附錄二:內置分區表達式。
如果您為表創建了質量監控,則通過此方式配置規則后,質量監控中設置的數據范圍將不會生效。規則將以此處SQL語句中的WHERE為準,確認需要校驗的表分區。
導入已有規則
若待監控表在數據質量功能模塊已創建相關監控規則,您可通過導入方式快速克隆相應規則;若未創建,請先前往數據質量創建,詳情請參見配置規則:按表(單表)。
說明該方式支持批量導入多個規則,支持對表字段級別數據配置監控規則。
單擊導入規則,您可通過規則ID/名稱、規則模板、關聯范圍(即全表或表的某些字段)搜索并選擇需導入的規則。
數據質量監控節點中創建的質量監控規則,在發布該節點后可進入數據質量模塊查看規則詳情,但不允許執行修改、刪除等管理操作。
4、配置運行資源
用于選擇執行質量規則檢測所需的運行資源(即在哪個數據源中運行質量規則監控任務),默認為待監控表所在的數據源。
如選擇其他數據源,需確認數據源是否擁有該表的訪問權限。
步驟三:配置檢測結果處理策略
在節點編輯頁面的質量監控處置區域,您可針對數據質量監控規則校驗的異常結果配置處理策略及訂閱方式。
異常結果類別
校驗異常結果類別如下。
異常結果類別 | 說明 |
強規則 · 校驗失敗 |
|
強規則 · 紅色異常 | |
強規則 · 橙色異常 | |
弱規則 · 校驗失敗 | |
弱規則 · 紅色異常 | |
弱規則 · 橙色異常 |
異常結果處理策略
對于規則校驗產生的異常結果,您可按需配置處理策略:
不忽略:可配置檢測到某異常類別(例如,強規則出現紅色異常)時,停止運行當前節點,并將節點置為失敗狀態。
說明當前節點運行失敗后,下游節點將不執行,以此阻塞生產鏈路,避免問題數據污染擴散。
支持添加多種異常結果類別進行檢測。
通常,當異常產生的影響較大,會阻塞下游任務執行時,可使用該策略。
忽略:忽略異常,繼續執行下游節點。
異常結果訂閱方式
您可配置異常結果的接收方式(例如,郵件通知),當產生異常結果時,平臺會以相應方式推送異常信息,以便您及時發現并處理異常。
平臺支持多種接收方式,具體請以實際界面為準。其中:
郵件、郵件和短信、電話僅支持選擇當前賬號下的用戶作為接收人。請確認相關人員的郵箱或手機號配置正確,詳情請參見查看和設置報警聯系人。
其他方式需輸入接收信息的Webhook地址。獲取方式,請參見獲取Webhook。
步驟四:配置任務調度
如您需要周期性執行創建的節點任務,可單擊節點編輯頁面右側的調度配置,根據業務需求配置該節點任務的調度信息。配置詳情請參見任務調度屬性配置概述。
您需要設置節點的重跑屬性和依賴的上游節點,才可以提交節點。
步驟五:調試任務
您可根據需要執行如下調試操作,查看任務是否符合預期。
步驟六:提交發布任務
節點任務配置完成后,需執行提交發布操作,提交發布后節點將根據調度配置內容進行周期性運行。
執行提交發布操作后,當前數據質量監控節點及節點內配置的質量規則均會被提交發布。
單擊工具欄中的圖標,保存節點。
單擊工具欄中的圖標,提交節點任務。
提交時需在提交對話框中輸入變更描述,并根據需要選擇是否在節點提交后執行代碼評審。
說明您需設置節點的重跑屬性和依賴的上游節點,才可提交節點。
代碼評審可對任務配置進行質量把控,防止由于配置有誤,未經審核直接發布上線后出現報錯。如進行代碼評審,則提交的節點必須通過評審人員的審核才可發布,詳情請參見代碼評審。
如您使用的是標準模式的工作空間,任務提交成功后,需單擊節點編輯頁面右上方的發布,將該任務發布至生產環境執行,操作請參見發布任務。