全部產品
Search
文件中心

DataWorks:配置資料品質測試

更新時間:Apr 21, 2026

在DataWorks的DataStudio中,支援為資料開發節點配置資料品質監控規則,用以校正該節點產出的資料表。此功能將品質規則的定義、測試與SQL開發流程深度融合,旨在解決傳統模式下品質規則配置滯後、資料問題發現延遲及規則維護成本高的問題。

功能介紹

概述

在 DataWorks IDE 中編輯 SQL節點時,可對該節點中的資料產出表直接配置資料品質規則。規則以 YAML 格式定義,與 SQL 代碼綁定,支援在開發階段測試、隨節點提交發布,並在調度運行時自動執行。

  • 開發時測試:在編碼階段即可對品質規則進行測試和驗證。

  • 同步版本化:品質規則作為節點代碼的一部分,隨節點一同進行版本管理與發布。

  • 生產時校正:發行的規則將線上上調度時自動執行,保障資料產出的可靠性。

與資料品質的關係

資料治理模組的資料品質也支援對資料表配置監控規則,同時提供豐富的規則模板和與周期任務綁定的能力,其與資料開發品質測試功能的關係如下:

定位差異

  • IDE內嵌規則:一種隨代碼版本演化的輕量級規則,適用於與特定節點邏輯強相關的校正情境。

  • 資料品質中心:提供全域性、跨任務的統一資料品質治理能力。

協同工作

  • 在IDE的“品質測試”功能中,可直接引用並複用資料品質中心已建立的規則模板,以保證規則的統一性並提升配置效率。

  • 若在IDE和資料品質中心對同一資料表配置了規則,兩者會同時生效並獨立執行校正。

建議:為避免重複配置和冗餘警示,建議根據實際治理情境,選擇一種主要方式對資料表進行管理。

適用範圍

當前僅支援MaxCompute SQL節點直接配置資料品質規則。

配置指南

配置入口

  1. 進入資料開發,開啟一個包含資料產出邏輯(如INSERT OVERWRITE)的MaxCompute SQL節點。

  2. 在節點編輯器上方的工具列中,單擊質量測試。 IDE底部將自動開啟並切換至質量測試標籤頁。

編寫品質規則

品質規則通過YAML格式的資料品質Spec進行定義。支援智能產生和手動編寫兩種方式。

智能建置規則 (推薦)

此功能旨在通過AI能力大幅降低規則編寫的複雜度。

  1. 在喚起的質量測試標籤頁中,點擊AI生成規則按鈕。

  2. 在對話方塊中輸入指令,如:對欄位id進行非空校正。

  3. 系統分析後會在編輯器中產生推薦規則,點擊接受後可直接使用或在此基礎上修改。

手動編寫規則 (指令碼模式)

對於需要精確控制規則的情境,支援通過編寫YAML代碼進行定義。

- datasets: # 如節點中有多個輸出表,可設定多個datasets來配置不同表的品質規則
    - type: Table
    dataSource:
      name: odps_first
    tables:
      - table1 # 當前僅支援設定1個表,不支援萬用字元
    filter: partition:dt=${bizdate} # 支援按where條件過濾(無需填寫where關鍵字)或者按分區過濾(固定首碼"partition:")。
  rules:
     - templateId: SYSTEM:field:null_value:fixed # 一個表可以支援多條規則,可選擇左側“規則模版”快捷插入,並修改模板中的變數。
      fields:
        - id 
      pass:
        - when = 0
      name: 欄位id空值行數為0
      severity: High
      identity: dq_suggestion_monitor_spec_欄位id空值行數為0
     - templateId: # 
- datasets:
   #...
  • 資料品質監控規則的配置遵循DataWorks的資料品質Spec,詳情可參見:資料品質Spec配置說明

  • 單擊右側的規則模板,可在編輯器中自動插入完整的規則片段(Rule),插入後根據實際情況調整。

    您可以在資料品質的規則模版庫中以可視化方式配置
  • 此處設定的強弱規則對下遊的阻塞與限制,與資料品質側邏輯完全一致。詳見: 資料品質規則

編輯器提供了豐富的協助工具功能以提升效率:

  • 文法高亮 :對YAML關鍵字、規則名、函數、表名、欄位名等進行顏色區分。

  • 自動補全:輸入時,自動提示關鍵字、內建規則模板、以及當前上下文可用的表名與欄位名。

  • 即時校正:即時提示YAML語法錯誤,並校正引用的表名、欄位名是否存在,對不存在的對象以波浪線高亮。

重要

YAML對縮排格式較為敏感,請注意縮排文法規範。

測試與驗證

規則配置完成後,支援直接在IDE中進行測試回合,無需等待節點調度即可驗證規則的有效性。

  • 測試方式

    • 單獨測試:在質量測試面板中,單擊測試運行可觸發對全部或單條規則的測試回合。

    • 聯動測試:在質量測試面板中,勾選節點運行成功後觸發質量測試,然後單擊IDE頂部工具列的 運行。系統將先執行SQL代碼,成功後再執行品質測試。

    • 工作流程測試:在工作流程DAG介面,點擊工作流程上方工具列的運行按鈕,或者指定單個指令碼運行,系統也會先後執行任務代碼和品質測試。

  • 查看結果

    運行結果將直接反饋在質量測試面板中。單擊右上方的結構化日誌,可查看品質規則運行過濾後的結果,對紅色異常的規則,可以點擊查看詳情,跳轉至資料品質規則的運行記錄。

發布與調度

發布與版本管理

  • 提交發布:節點提交並發布時,在品質測試面板中配置的YAML規則會作為節點的一部分,一同發布到生產環境。

  • 版本對比:支援在品質配置頁簽查看目前的版本包含的規則配置,並能與歷史版本進行Diff對比,以追蹤規則的每一次變更。

生產環境調度運行

發布到生產環境的品質規則,將在每次任務調度運行時自動觸發執行。

  • 執行時機:品質規則校正會在其關聯的SQL節點執行成功後自動執行。整個節點執行個體的最終狀態,取決於SQL執行結果和品質校正結果。

  • 阻塞機制

    • 強規則 (severity: High):強規則校正失敗(紅色異常),將導致整個節點執行個體運行失敗,從而阻塞下遊任務。

    • 弱規則 (severity: Normal或不設定):弱規則校正失敗,不會阻塞節點運行,節點執行個體將正常成功。

  • 警示通知:無論規則是否阻塞節點,只要校正結果出現異常(紅色異常、橙色異常或者校正失敗),系統都會向節點責任人發送郵件警示。

    說明

    警示方式暫不支援變更。

相關文檔