全部產品
Search
文件中心

DataWorks:配置規則:按表(單表)

更新時間:Aug 30, 2024

資料品質支援按照資料表配置品質監控規則,用來監控表資料是否符合要求,自動攔截問題任務,阻斷髒資料向下遊蔓延,保障產出的表資料符合預期。本文為您介紹如何配置表的品質監控規則並執行品質監控及其他相關操作。

前提條件

已採集引擎中繼資料。品質規則需基於引擎資料表進行配置,並作用於對應的表資料,因此,配置品質監控規則前,您需先採集中繼資料。詳情請參見中繼資料採集

配置流程

按表配置品質規則主要流程如下:

  1. 選擇待配置規則校正的表。

  2. 為表建立品質監控

    以校正的表的具體資料範圍為對象(如分區表的具體分區),通過品質規則關聯品質監控的方式,定義對象資料需要進行哪些品質規則校正。

    • 可建立多個品質監控校正同一張表的不同分區,每個品質監控關聯不同的品質規則,達到同一張表不同分區資料品質校正邏輯不同的目的。

    • 定義品質監控的觸發方式,即是否在調度節點運行時觸發規則校正,還是需要手動觸發才會進行該表品質校正。

    • 定義何種情況下需要發送警示資訊,您可根據資料校正結果異常等級自行決定何種異常需要發送警示資訊。當表資料變更自動進行資料品質規則校正時,您可根據資料異常程度決定是否需要阻塞任務執行。

  3. 配置資料品質規則添加到品質監控中。

    以品質監控中需要校正的為對象,定義該表資料品質校正規則的校正方式。通過資料品質規則定義對該表資料的具體校正方式,從而確定該表資料是否符合預期。

    資料品質監控規則包括基於模板建立的系統模板規則,以及可自訂SQL邏輯的自訂模板規則。其中:

    • 系統模板規則:可通過DataWorks提供的內建規則模板建立規則。

    • 自訂模板規則:若系統內建規則模板無法滿足您對分區運算式中資料品質的監控需求,則可使用自訂規則模板。您也可以將常用的自訂規則固化為規則模板,便於後續快速複用。

  4. 測試及訂閱品質監控。

使用限制

  • 當前僅支援為MaxCompute、E-MapReduce(簡稱EMR)、Hologres、AnalyticDB PostgreSQL、AnalyticDB MySQL資料來源配置品質監控規則。並且,規則配置後,產出表資料的調度節點需要使用網路已連通的資源群組進行調度,才可正常觸發資料品質規則校正。資源群組的相關配置,詳情請參見新增和使用Serverless資源群組

  • 動態閾值類規則需要有21天採樣記錄,若少於21天,動態閾值類規則會校正異常。若無21天採樣記錄,您可在配置了動態閾值類規則且規則關聯調度任務後,通過補資料功能補齊21天採樣記錄。

操作步驟

步驟一:進入表品質詳情頁

  1. 進入資料品質頁面。

    登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料建模與開發 > 資料品質,在下拉框中選擇對應工作空間後單擊進入資料品質

  2. 進入按表配置監控規則。

    在左側導覽列,單擊規則配置 > 按表配置,進入按表配置規則頁面。

    1. 左側資料來源列表按需選擇待配置規則的表所在的資料庫。

    2. 根據資料庫類型、資料庫、表名等條件式篩選,單擊目標表名或操作列的監控配置,進入該表的表品質詳情頁。

      該頁面展示了當前表所有已配置的品質規則,您可通過規則是否已關聯品質監控來快速過濾目標規則,並對未關聯品質監控的規則定義規則運行方式。

      image

步驟二:建立品質監控

  1. 建立品質監控。

    您可以通過如下兩種方式建立品質監控:

    規則管理頁

    在表的表品質詳情頁,單擊規則管理頁簽。單擊品質監控視角後的image,建立品質監控。

    image

    品質監控頁

    在表的表品質詳情頁,切換到品質監控頁簽。單擊建立品質監控

    image

  2. 配置品質監控的相關參數。

    image

    參數說明:

    配置項

    參數

    說明

    基本配置

    品質監控名稱

    自訂監控規則名稱。

    監控對象

    資料品質校正的對象,預設為當前表。

    資料範圍

    通過分區運算式定義該表需要進行品質規則校正的分區。

    • 非分區表:無需配置,預設為全表

    • 分區表:運算式格式:分區名=分區值,分區值可以是固定值,也可以是附錄二:內建分區運算式

    說明

    使用自訂模板、自訂SQL配置規則時,此處配置不生效。即使用自訂模板、自訂SQL配置的品質規則校正的分區由自訂SQL決定。

    回合設定

    觸發方式

    監控規則的運行方式。

    • 生產調度觸發:通過關聯DataWorks營運中心中指定的周期調度任務,任務運行完成後,自動觸發該品質監控下的品質規則(空跑任務不會觸發品質規則校正)。

    • 手動觸發:手動觸發當前品質監控關聯的品質監控規則。

    關聯調度節點

    如果觸發方式配置為生產調度觸發,可以使用配置此參數,指定關聯的調度節點,指定的調度節點運行完成後,自動觸發品質監控規則。

    選擇運行資源

    執行品質規則檢測所需的運行資源,預設選擇該工作空間下監控表所屬資料來源。如選取其他資料來源,需確認對應資源可對該表進行訪問。

    品質問題處理策略

    問題處置策略

    配置在檢測到資料品質問題後,具體的阻塞或警示策略。

    • 阻塞:當檢測到資料品質問題後,將識別觸發該表品質檢測的生產調度節點,並將該節點設定為失敗,下遊節點將不執行,以此阻塞生產鏈路,以避免問題資料汙染擴散。

      預設為強規則·紅色異常

    • 警示:當檢測到資料品質問題後,將對該品質監控的警示訂閱渠道發送警示資訊。

      預設為:強規則·紅色異常強規則·橙色異常強規則·校正失敗弱規則·紅色異常弱規則·橙色異常弱規則·校正失敗

    選擇品質規則

    選擇品質規則

    通過品質監控關聯品質規則的方式,確定通過哪些規則來校正該表當前資料範圍是否符合預期。

    說明
    • 不同分區可建立多個品質監控並關聯不同的品質規則進行校正,以實現不同分區校正規則不同的目的。

    • 如果還未建立品質規則,本步驟可暫不添加,您可以先完成品質監控的建立,在後續建立品質規則時,將規則添加至品質監控中。品質規則的建立,詳情請參見步驟三:配置資料品質規則

  3. (可選)您可通過勾選訂閱品質警示(郵件)的方式,快速訂閱當前品質監控結果。

  4. 單擊儲存

步驟三:配置資料品質規則

  1. 表品質詳情頁的規則管理頁簽,單擊建立規則進入規則配置頁面。

  2. 建立資料品質規則。

    資料品質提供以下方式配置品質監控規則,您可以按需選擇。

    方式一:系統模板規則

    資料品質內建幾十種監控規則,您可以根據需要從規則模板中快速建立品質監控規則。

    說明
    • 您可以單擊頂部的+ 系統模板規則,然後修改規則模板參數調整到目標規則模板。

    • 您也可以在左側找到需要的系統模板規則後,單擊+ 使用

    • 同時可以添加多個規則。

    image

    系統規則模板參數說明

    參數

    描述

    規則名稱

    您可以自訂規則名稱。

    規則模板

    定義需要對錶進行哪種類型規則校正。

    資料品質為您提供大量內建表層級、欄位層級的監控模板可直接選擇。詳情請參見查看內建規則模板

    說明

    平均值、匯總值、最小值和最大值僅對數值型欄位生效。

    規則範圍

    該規則應用的範圍,表層級規則預設為當前表,欄位層級規則選擇具體欄位。

    比較方式

    定義規則具體怎麼校正表資料是否符合預期。

    • 手動設定:自訂資料產出結果與規則的比較方式。

      不同規則模板,可選擇的比較方式不同,具體請以實際介面為準。

      • 支援數值型結果對比,通常與固定值(即期望值)進行比較,比較方式包括大於大於等於等於不等於小於小於等於。支援您自訂正常資料範圍(正常閾值)與異常資料範圍(紅色閾值)。

      • 支援波動型結果對比,通常是進行範圍比較,比較方式包括絕對值上升下降。支援您自訂正常資料範圍(正常閾值),您還可以根據異常偏離程度定義資料產出存在異常(橙色閾值)與資料產出不符合預期(紅色閾值)。

    • 智能動態閾值:您無需手動設定波動閾值或期望值,系統會根據智能演算法,自動判斷合理閾值;若探索資料異常,會即時觸發警示或阻塞。動態閾值也可支援強、弱規則。

      說明

      自訂SQL自訂範圍、動態閾值類型的品質規則支援智能動態閾值比較方式。

    監控閾值

    • 比較方式手動設定時,您可以自行設定正常閾值紅色閾值

      • 正常閾值:當資料品質規則校正結果滿足此處設定的值時,說明資料校正符合預期。

      • 紅色閾值:當資料品質規則校正結果滿足此處設定的值時,說明資料校正不符合預期。

    • 當規則為波動型校正時,您需要指定橙色閾值

      • 橙色閾值:當資料品質規則校正結果滿足此處設定的值時,說明資料存在異常但不影響業務運行。

    保留問題資料

    當規則為啟用狀態時,在本條資料品質監控規則校正不通過的情況下,系統自動建立問題資料表格儲存體品質規則校正過程中發現的問題資料。

    重要
    • 目前僅支援MaxCompute表配置保留問題資料功能。

    • 目前僅部分資料品質監控規則支援配置保留問題資料功能。

    • 受啟停狀態影響,若規則為停用狀態,則不執行保留問題資料。

    啟用狀態

    規則的啟用停用狀態,用於控制該規則是否在生產環境中運行。

    重要

    狀態設定為停用時,規則將無法觸發測試回合,並且不會被關聯的調度任務觸發運行。

    重要程度

    設定規則在業務中的強弱程度。

    • 強規則:比較重要的規則,如果出現紅色異常,預設會阻塞品質監控關聯的調度任務的執行。

    • 弱規則:普通規則,如果出現紅色異常,預設不會阻塞品質監控關聯的調度任務的執行。

    描述

    您可以對該規則進行補充說明。

    方式二:自訂模板規則

    說明

    在使用自訂模板建立規則之前,您需要先前往品質資產 > 規則模板庫中建立自訂規則模板後才可使用。具體操作,請參見建立並管理自訂規則模板

    引用自訂模板時,將自動顯示該模板的基本配置(例如Flag參數,校正SQL)等,您可以自訂規則名稱,並按照規則類型,配置監控閾值(例如數值型規則需要定義正常閾值、紅色閾值,此外,波動型規則還需要定義橙色閾值。)

    image

    自訂規則模板參數說明

    此處僅展示自訂規則模板專屬參數,其他參數解釋,請參見系統規則模板參數說明。

    配置項

    說明

    FLAG參數

    用於定義需要在資料品質校正SQL執行前提前執行的SET命令。

    SQL

    定義完整的SQL校正邏輯,要求返回結果為一行一列,且結果為數值型。

    自訂SQL中,請使用中括弧的形式匹配表的分區運算式。樣本如下:

    select count(*) from ${tableName} where ds=$[yyyymmdd];
    說明
    • ${tableName}變數取值將根據實際監控的表動態替換。

    • 配置分區運算式,詳情請參見附錄二:內建分區運算式

    • 如果您為表建立了品質監控,則通過此方式配置規則後,品質監控中設定的資料範圍將不會生效。規則將以此處SQL語句中的WHERE為準,確認需要校正的表分區。

    方式三:自訂SQL

    該方式支援您自訂該表的資料品質校正邏輯。

    image

    自訂SQL參數說明

    此處僅展示自訂SQL專屬參數,其他參數解釋,請參見系統規則模板參數說明。

    配置項

    說明

    FLAG參數

    用於定義需要在資料品質校正SQL執行前提前執行的SET命令。

    SQL

    定義完整的SQL校正邏輯,要求返回結果為一行一列,且結果為數值型。

    自訂SQL中,請使用中括弧的形式匹配表的分區運算式。樣本如下:

    select count(*) from <table_name> where ds=$[yyyymmdd];
    說明
    • 您需要在實際配置中將<table_name>替換為當前實際操作的表名,實際監控的表由此處SQL決定。

    • 配置分區運算式,詳情請參見附錄二:內建分區運算式

    • 如果您為表建立了品質監控,則通過此方式配置規則後,品質監控中設定的資料範圍將不會生效。規則將以此處SQL語句中的WHERE為準,確認需要校正的表分區。

  3. (可選)您可以將配置的規則添加到品質監控中,品質監控的更多資訊,請參見步驟二:建立品質監控

    說明

    此處配置的品質規則,只有添加到品質監控中,才會被觸發,您可以在此處選擇已經建立的品質監控,或在配置品質監控時,在選擇品質規則步驟選擇此處配置的品質規則。

    image

  4. 單擊確定

步驟四:測試規則執行

您可以通過如下方式測試品質監控中規則的觸發情況。

規則管理頁簽測試回合

  1. 規則管理頁簽的品質監控視角下,找到已建立的品質監控,然後單擊測試回合

    image

  2. 測試回合對話方塊中,確認資料範圍調度時間等參數後,單擊測試回合。當顯示啟動成功後,您可以單擊查看詳情,查看測試回合的具體結果。

    image

品質監控頁簽測試回合

  1. 品質監控頁簽,找到已建立的品質監控,然後單擊操作列的測試

    image

  2. 測試回合對話方塊中,確認資料範圍調度時間等參數後,單擊測試回合。當顯示啟動成功後,您可以單擊查看詳情,查看測試回合的具體結果。

    image

步驟四: 訂閱品質監控

觸發規則後預設僅通知規則建立者,若您想通知其他使用者,您還需要為其他使用者訂閱品質監控,使警示可以通過指定方式通知給指定使用者。

您可以通過如下方式訂閱品質監控。

規則管理頁簽訂閱

  1. 規則管理頁簽的品質監控視角下,找到已建立的品質監控,然後單擊image > 警示訂閱

    image

  2. 訂閱管理對話方塊中,添加訂閱者式接受對象後,單擊操作列的儲存。儲存後,您可以再次添加其他訂閱者式。

    image

    訂閱者式包括郵件通知郵件和簡訊通知DingTalk群機器人DingTalk群機器人@ALL飛書群機器人企業微信機器人自訂Webhook電話

    說明
    • 添加DingTalk群、飛書群和企業微信機器人擷取Webhook地址後,複製Webhook地址至訂閱管理中即可。

    • 僅DataWorks企業版版本支援使用自訂Webhook方式,DataWorks推送自訂Webhook的警示資訊的訊息格式請參見:附錄:Webhook訊息格式

品質監控頁簽訂閱

  1. 品質監控頁簽,找到已建立的品質監控,然後單擊操作列的更多 > 警示訂閱

    image

  2. 訂閱管理對話方塊中,添加訂閱者式接受對象後,單擊操作列的儲存。儲存後,您可以再次添加其他訂閱者式。

    image

    訂閱者式包括郵件通知郵件和簡訊通知DingTalk群機器人DingTalk群機器人@ALL飛書群機器人企業微信機器人自訂Webhook電話

    說明
    • 添加DingTalk群、飛書群和企業微信機器人擷取Webhook地址後,複製Webhook地址至訂閱管理中即可。

    • 僅DataWorks企業版版本支援使用自訂Webhook方式,DataWorks推送自訂Webhook的警示資訊的訊息格式請參見:附錄:Webhook訊息格式

後續步驟

品質監控運行後,您可以在左側導覽列的品質營運目錄下,單擊品質監控運行記錄,查看指定表的品質校正情況,以及完整的品質規則校正記錄。

附錄

附錄一:波動率與方差計算公式

  • 波動率計算公式:波動率 = (樣本 - 基準值) / 基準值

    • 樣本:當天採集的具體的樣本的值。例如對於SQL任務錶行數,1天波動檢測,則樣本是當天分區的錶行數。

    • 基準值:歷史樣本的對比值。

    說明
    • 如果規則是SQL任務錶行數,1天波動率檢測,則基準值是前一天分區產生的錶行數。

    • 如果規則是SQL任務錶行數,7天平均值波動率檢測,則基準值是前7天的錶行資料的平均值。

  • 方差波動計算公式:(當次樣本 - 歷史N天平均值) / 標準差

    說明

    BIGINTDOUBLE等數實值型別可以使用方差。

附錄二:內建分區運算式

  • $[yyyymmdd-1]

    分區為按日分區,需要校正業務日期分區資料。

  • $[yyyymmdd-1]/hour=$[hh24]

    分區為二級分區,需要校正調度當日分區的所有二級分區。

  • $[yyyymmdd]

    分區是按日分區,需要校正調度當日分區資料。

  • $[yyyymmddhh24miss]

    分區帶有24進位時間資訊,例如:20211216174847,校正bizdate當日某時間分區資料。

  • $[yyyymmddhh24miss-1/24]

    分區帶有24進位時間資訊,例如:20211216174847,校正bizdate當日某時間的前一小時分區資料。

  • $[yyyymmdd]000000

    分區為每日0時,例如:20211216000000,校正bizdate當日的0點分區的資料。

  • $[yyyymmdd-7]

    分區為按日分區,例如:20211216,校正調度日期前7日(一周前)的分區。

  • $[hh24miss-1/24]

    分區為小時分區,例如:180000,校正調度時間前一小時的分區。

  • $[hh24miss-30/24/60]

    分區為小時分區,例如180000,校正調度前30分鐘的分區。

  • $[add_months(yyyymmdd,-1)]

    分區為按日分區,例如:20211208,校正調度日期前一個月的分區。