全部产品
Search
文档中心

大数据开发治理平台 DataWorks:配置数据质量测试

更新时间:Feb 02, 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或不设置):弱规则校验失败,不会阻塞节点运行,节点实例将正常成功。

  • 告警通知:无论规则是否阻塞节点,只要校验结果出现异常(红色异常、橙色异常或者校验失败),系统都会向节点责任人发送邮件告警。

    说明

    告警方式暂不支持变更。

相关文档