全部產品
Search
文件中心

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

更新時間:Jan 05, 2026

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

前提條件

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

使用限制

  • 資料來源限制:當前僅支援為MaxCompute、E-MapReduce、Hologres、CDH Hive、AnalyticDB PostgreSQL、AnalyticDB MySQL、StarRocks、MySQL、SQL Server、DLF、Lindorm資料來源配置品質監控規則。

  • 網路限制:規則配置後,產出表資料的調度節點需要使用網路已連通的資源群組進行調度,才可正常觸發資料品質規則校正。

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

品質監控核心組成

image

按表配置品質監控規則是定義和執行個體化資料品質校正邏輯的核心流程。該流程旨在建立一個完整的品質監控配置,它由以下四個關鍵區段組成:

  1. 監控範圍:用於精確指定資料品質校正的目標資產。配置內容包括:

    • 監控對象:選擇一個或多個需要進行品質校正的物理表。支援分區表和非分區表。

    • 資料範圍:對於分區表,必須通過分區運算式來定義每次校正時動態掃描的分區。例如,使用 $[yyyymmdd-1] 表示校正業務日期前一天的分區資料。

  2. 品質規則:用於定義具體的校正邏輯和衡量標準,以判斷資料是否符合預期。

    • 規則定義:可以為監控對象添加一個或多個品質規則。每個規則都基於一個規則模板進行執行個體化,模板可以是:

      • 系統模板:DataWorks 提供的內建模板,覆蓋了完整性、唯一性、有效性等多個維度,如“錶行數波動”、“欄位唯一值個數”等。

      • 自訂模板:使用者通過編寫 SQL 建立的、可複用的個人化校正邏輯。

    • 規則屬性:每個規則都需配置其關鍵屬性,包括閾值(例如,波動率不超過30%)以及規則的嚴重等級,即強規則或弱規則。強規則校正失敗時,具備阻塞調度任務的能力。

  3. 觸發方式:用於定義品質監控任務的執行時機。

    • 調度任務觸發:將品質監控與一個上遊的 DataWorks 調度節點(通常是產出被監控表的任務)進行關聯。當該調度節點成功運行後,系統將自動觸發關聯的品質規則進行校正。這是實現自動化資料品質保障的最佳實務。

    • 手動觸發:不與任何調度任務關聯,校正過程需要使用者在介面上手動發起。此方式適用於臨時的、一次性的資料探查與校正。

  4. 警示規則:用於配置當資料品質問題發生時的通知策略。

    • 警示訂閱:可以為規則的特定校正結果(如“失敗”或“警告”)配置警示。系統支援通過郵件、簡訊、電話、DingTalk/飛書/企業微信機器人以及自訂 Webhook 等多種渠道發送通知。

在完成以上四個要素的配置並儲存後,一個完整的品質監控計劃即建立成功。建議在發布到生產環境前,先通過測試回合功能驗證其配置的準確性。

操作步驟

一、進入表品質詳情頁

  1. 進入資料品質頁面。

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

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

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

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

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

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

      image

二、建立品質監控

  1. 建立品質監控。

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

    規則管理頁

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

    image

    品質監控頁

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

    image

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

    配置項

    參數

    說明

    基本配置

    品質監控名稱

    自訂監控規則名稱。

    品質監控負責人

    按需指定該品質監控的責任人,在配置警示訂閱時,可通過郵件通知郵件和簡訊通知電話方式,指定警示接收人為品質監控負責人。

    監控對象

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

    資料範圍

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

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

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

    說明

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

    選擇品質規則

    選擇品質規則

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

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

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

    回合設定

    觸發方式

    品質監控的觸發方式。

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

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

    重要

    如果您的品質監控校正的表為非MaxCompute表,且觸發方式選擇了生產調度觸發,則選擇的周期調度任務不能使用公用調度資源群組,否則品質監控執行時將會報錯。

    關聯調度節點

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

    選擇運行資源

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

    品質問題處理策略

    問題處置策略

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

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

      預設為強規則·紅色異常

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

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

    警示方式配置

    支援通過郵件通知郵件和簡訊通知DingTalk群機器人DingTalk群機器人@ALL飛書群機器人企業微信機器人自訂Webhook電話等方式發送警示資訊。

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

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

    • 當選擇訂閱者式為郵件通知郵件和簡訊通知電話時,支援指定授權對象資料品質監控負責人值班表調度任務責任人

      • 資料品質監控負責人:警示資訊將發送到當前品質監控基本配置部分設定的品質監控負責人

      • 值班表:當品質監控關聯節點觸發品質規則校正警示時,系統將會發送警示資訊給值班表內的當天值班人員

      • 調度任務責任人:警示資訊將發送給品質監控關聯調度節點的負責人

  3. 單擊儲存,完成品質監控建立。

三、配置資料品質規則

說明

您可以基於內建表層級、欄位層級的監控模板配置品質規則,內建規則模板的更多資訊請參見查看內建規則模板

  1. 表品質詳情頁的規則管理頁簽,選中已建立好的品質監控,然後單擊建立規則進入規則配置頁面。

  2. 建立資料品質規則。

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

    方式一:系統模板規則

    資料品質內建幾十種品質規則模板,根據需要在左側單擊+ 使用從規則模板中快速建立品質監控規則,支援同時可以添加多個規則。

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

    系統規則模板參數說明

    參數

    描述

    規則名稱

    您可以自訂規則名稱。

    規則模板

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

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

    說明

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

    規則範圍

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

    比較方式

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

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

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

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

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

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

      說明

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

    監控閾值

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

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

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

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

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

    保留問題資料

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

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

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

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

    啟用狀態

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

    重要

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

    重要程度

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

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

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

    配置來源

    顯示該規則的配置來源,此時預設為資料品質

    描述

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

    方式二:自訂模板規則

    說明

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

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

    自訂規則模板參數說明

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

    配置項

    說明

    FLAG參數

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

    SQL

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

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

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

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

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

    方式三:自訂SQL

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

    自訂SQL參數說明

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

    配置項

    說明

    FLAG參數

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

    SQL

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

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

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

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

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

    方式四:自訂指令碼

    自訂指令碼規則,支援小時分鐘級資料校正。指令碼規則寫法請參見使用系統規則模板。例如:

    - assertion: change 30 minutes ago for max(id) = 15
      name: 30分鐘1d欄位最大值差值為15

    image

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

    說明

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

    image

  4. 單擊確定

四、測試規則執行

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

規則管理頁簽測試回合

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

    image

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

    image

品質監控頁簽測試回合

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

    image

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

    image

五、 修改品質監控警示訂閱

步驟二、建立品質監控時已設定了警示訂閱,當觸發規則後,系統將會向對應警示人發送通知。若您想修改警示訂閱,通知其他使用者,您可以通過如下方式配置警示訂閱。

規則管理頁簽訂閱

  1. 規則管理頁簽的品質監控視角下,找到已建立的品質監控,按如下方式開啟警示訂閱頁面。

    image

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

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

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

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

    • 當選擇訂閱者式為郵件通知郵件和簡訊通知電話時,支援指定授權對象資料品質監控負責人值班表調度任務責任人

      • 資料品質監控負責人:警示資訊將發送到當前品質監控基本配置部分設定的品質監控負責人

      • 值班表:當品質監控關聯節點觸發品質規則校正警示時,系統將會發送警示資訊給值班表內的當天值班人員

      • 調度任務責任人:警示資訊將發送給品質監控關聯調度節點的負責人

品質監控頁簽訂閱

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

    image

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

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

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

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

    • 當選擇訂閱者式為郵件通知郵件和簡訊通知電話時,支援指定授權對象資料品質監控負責人值班表調度任務責任人

      • 資料品質監控負責人:警示資訊將發送到當前品質監控基本配置部分設定的品質監控負責人

      • 值班表:當品質監控關聯節點觸發品質規則校正警示時,系統將會發送警示資訊給值班表內的當天值班人員

      • 調度任務責任人:警示資訊將發送給品質監控關聯調度節點的負責人

後續步驟

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

附錄

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

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

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

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

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

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

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

    說明

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

附錄二:內建分區運算式

假設情境:

  • 業務日期 (bizdate) 為 20240524

  • 調度時間 (scheduling time) 為 10:30:00

分區運算式

校正目標說明

樣本(基於上述情境)

ds=$[yyyymmdd]

校正業務日期當天的分區資料。

20240524

ds=$[yyyymmdd-1]

校正業務日期前一天的分區資料。

20240523

ds=$[yyyymmdd-7]

校正業務日期7天前(一周前)的分區資料。

20240517

ds=$[add_months(yyyymmdd,-1)]

校正業務日期上一個月同一天的分區資料。

20240424

ds=$[yyyymmddhh24miss]

校正業務日期當天、精確到當前調度時間(秒級)的分區。

20240524103000

ds=$[yyyymmdd]000000

校正業務日期當天零點的秒級分區資料。

20240524000000

ds=$[yyyymmddhh24miss-1/24]

校正業務日期當天、調度時間前一小時的秒級分區資料。

20240524093000

ds=$[hh24miss-1/24]

(用於小時級分區)校正調度時間前一小時的分區,通常格式為 hh0000

090000

ds=$[hh24miss-30/24/60]

(用於分鐘級分區)校正調度時間前30分鐘的分區,通常格式為 hhmi00

100000

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

(用於二級分區)校正業務日期前一天的所有小時分區資料。

ds=20240523/hour=00 到 ds=20240523/hour=23 的所有分區