创建数据表质量规则

更新时间: 2023-08-10 09:41:07

为了提升数据表质量监控的便捷性,Dataphin支持创建校验数据表的质量规则。数据表参与质量规则校验时,如果触发了质量弱监控规则,系统会给您发送告警消息,便于您及时发现并处理异常;如果触发了质量强监控规则,系统会自动中断该表所在的任务,避免脏数据流入下游,同时系统会给您发送告警消息,便于您及时发现并处理异常。本文为您介绍如何单独配置数据表的质量规则和批量配置数据表的质量规则。

前提条件

已发布数据表至生产环境。如何发布数据表至生产环境,请参见管理发布任务

权限说明

  • 超级管理员、质量管理员和资源负责人可以添加监控对象及引入Dataphin数据表资源。

  • 超级管理员、质量管理员和质量负责人可以批量配置质量规则及新建、删除异常归档表。

  • 质量负责人、普通用户需具备Dataphin数据表的读权限,如果没有权限,则需要申请数据表权限,详情请参见申请、续期和交还表权限

  • 超级管理员、质量管理员可查看所有Dataphin数据表的质量规则。

  • 项目成员可查看自己所加入的项目的Dataphin数据表的质量规则。

  • 普通成员(个人)可查看数据表的质量负责人是自己的Dataphin数据表的质量规则。

特殊的,若质量规则中开启了权限限制,则优先遵循质量规则的权限限制执行。

从不同视角查看质量规则

Dataphin支持从全局项目个人三个视角查看Dataphin数据表的质量规则。

image..png
  • 全局:超级管理员、质量管理员可从全局查看所有Dataphin数据表质量规则。

  • 项目:超级管理员、质量管理员支持切换所有项目查看Dataphin数据表的质量规则,项目成员仅可选择已加入的项目并查看该项目下的Dataphin数据表的质量规则。

  • 个人:超级管理员、质量管理员支持切换至任一成员查看Dataphin数据表质量规则,普通成员仅可查看质量负责人是自己的Dataphin数据表质量规则并且不支持切换。

说明
  • 当从项目视角查看质量规则时,筛选项不展示所属项目。

  • 当从个人视角查看质量规则时,筛选项不展示质量负责人。

步骤一:选择数据表

  1. 在Dataphin首页,单击顶部菜单栏的资产

  2. 按照下图操作指引,进入添加监控对象对话框。

    image..png
  3. 添加监控对象对话框中,下拉选择参数后,单击配置质量规则

    • 如果您的表类型选择物理表,可以通过选择所属项目环境筛选数据表。

    • 如果您的表类型选择逻辑表,可以通过选择数据板块环境筛选数据表。

      image

步骤二:质量规则配置

质量规则支持自定义配置引用数据标准监控(引用数据标准监控需开通数据标准模块)两种方式,自定义配置是基于系统内置/自定义质量规则模板快速创建,也支持自定义SQL,满足灵活的监控诉求;引用数据标准监控是引用当前资产对象映射到的数据标准已配置的质量规则,更好地满足标准约束。

  • 自定义配置

    1. 数据表悬停新建质量规则选择自定义配置或单击新建质量规则,进入新建质量规则对话框。

      image..png
    2. 新建质量规则对话框,配置参数。

      image..png

      参数

      描述

      规则名称

      自定义质量规则的名称。

      规则强度

      选择质量规则的强弱:

      • 如果您选择了强规则,则质量规则校验的结果为异常时报警,同时在有下游任务的情况下(代码检查调度、任务触发调度)会阻塞下游任务,防止污染数据扩散;如果没有下游任务(如周期质量调度),则仅告警。

      • 如果您选择了弱规则,则质量规则校验的结果为异常时报警但不阻塞下游任务节点。

      描述

      自定义质量规则描述。不超过128字符。

      配置方式

      • 模板创建:使用通用的系统模板和自定义的业务模板,快速创建质量规则。

        • 系统模板:模板内置参数可配置,适合通用的规则创建。

        • 自定义模板:模板预置参数,无需配置,一般用于含业务逻辑的规则创建。

      • 自定义SQL:可通过SQL灵活自定义质量监控规则,适用于灵活复杂场景。

      规则模板

      下拉可选择规则模板,完整性唯一性及时性有效性一致性稳定性自定义SQL

      • 完整性:包括字段空值校验字段空字符串校验

      • 唯一性:包含字段唯一性校验字段分组个数校验字段重复值个数校验

      • 及时性:包含时间函数比较单表时间字段比较两表时间字段比较

      • 有效性:包含字段格式校验字段长度校验字段值域校验码表参照对比数据标准码表参照对比(需开通数据标准模块)。

      • 一致性:包含单表字段值一致性比较单表字段统计值一致性比较单字段业务逻辑一致性比较两表字段值一致性比较两表字段统计值一致性比较两表字段业务逻辑一致性比较跨源两表字段统计值一致性比较

      • 稳定性:包含表稳定性校验表波动性校验字段稳定性校验字段波动性校验

      • 自定义SQL:包含自定义统计指标校验自定义数据详情校验

      详情请参见创建全域数据表规则的模板类型说明

      规则类型

      规则类型包含系统类型和自定义类型。

      • 系统类型和模板有关,是模板最基础的属性。

      • 支持用户自定义模板的类型,作为说明和筛选功能。

      规则配置

      规则配置因选择不同的规则模板而变化。详情请参见创建全域数据表规则的规则配置说明

      特殊说明:

      • 校验表数据过滤:默认关闭,开启后可配置校验表的过滤条件或分区过滤或普通数据过滤,过滤条件将会直接追加至校验SQL中;如校验表有分区过滤需求,建议在调度配置中配置分区表达式,配置后会以校验分区为最小查看粒度查看质量报告。

      • 当规则模板选择一致性/两表字段统计值一致性比较一致性/跨源两表字段统计值一致性比较时,可选择是否开启对比表数据过滤,开启后可配置对比表的过滤条件或分区过滤或普通数据过滤,过滤条件将会直接追加至校验SQL中。

      规则校验

      • 数据质量规则校验后,结果会和异常校验的配置进行对比,符合条件则校验结果为不通过;同时触发告警等后续流程。

      • 异常校验可用指标由模板和配置内容决定,支持多种条件的and / or条件,实际配置中建议小于3条。

        详情请参见创建全域数据表规则的校验配置说明

      异常归档

      默认开启后可以归档异常数据到文件或归档表中,质量校验后可以下载、分析归档的异常数据。

      • 归档模式支持仅归档异常字段归档完整记录

        • 仅归档异常字段:只去重归档当前监控字段,适用于通过单字段就可以完整确定异常数据的情况。

        • 归档完整记录:归档异常数据所在的整条记录,适用于必须通过完整记录才能定位异常数据的情况。 注意:因归档完整记录会极大增加归档数据量,建议正常情况下都使用仅归档异常字段。

      • 异常数据存储支持默认文件服务器异常数据归档表。若未创见异常归档表,可点击管理异常归档表创建,详情请参见步骤五:添加异常归档表

        • 默认文件服务器:存储在默认的文件服务器位置,后续只能进行数据的下载。一个规则单次最多归档100条,建议只归档异常字段或小数据量时使用。

        • 异常数据归档表:可以将异常数据存储到表中,后续可以直接读表进行数据分析或数据下载。自定义存储的大小和生命周期可以由您进行统一管理,有更高的灵活性,一个规则单次最多归档10000条。

          注意:异常归档表需要满足特定的格式要求,否则可能会报错,详情配置请参见步骤五:添加异常归档表

          说明

          在归档表中针对本次校验的异常数据进行下载不超过1000条。

      预览SQL

      说明
      • 关键信息没有填写完整,预览SQL不可用。

      • 左边为上次保存配置SQL预览,若未配置,则为空;右边为当前配置SQL预览。

      image
    3. 单击确定

  • 引用数据标准监控

    1. 数据表悬停新建质量规则选择引用数据标准监控

      image..png
    2. 引用数据标准监控对话框选择需要引用的数据标准规则。

      说明
      • 引用后不支持修改规则详情配置,可自行配置调度、修改规则强弱等信息。

      • 您可以根据有效性唯一性完整性稳定性四种规则模板筛选标准规则,也可以输入对象名称进行搜索。

      • 在引用数据标准规则对话框,支持修改规则名称、开启或关闭生效状态,您也可以点击关联标准下的标准编码查看标准详情。

      • 您可点击操作列下的image图标查看质量规则。

      image
    3. 单击添加选择规则,完成引用数据标准规则。

规则配置列表

质量规则创建完成后,您可在规则配置列表进行查看、编辑、试跑、运行、删除等操作。

image..png

区域

描述

筛选及搜索区

支持按照对象或者规则名称进行快捷搜索。

支持按照规则类型规则模板规则强度试跑状态生效状态规则来源进行筛选。

列表区

为您展示规则配置列表的对象名称规则名称试跑状态生效状态规则类型规则模板规则强度调度类型信息。

  • 若引用的是数据标准规则,可点击规则名称的image图标查看标准详情。

  • 生效状态:建议生效规则前先进行试跑,针对试跑成功的规则开启生效状态。避免错误的规则阻塞线上任务。

    • 开启生效状态后,所选规则会按照配置的调度自动执行。

    • 停用生效状态后,所选规则不会自动执行,但可以手动执行。

操作区

您可进行查看克隆编辑试跑运行调度配置删除操作。

  • 查看:可查看规则配置详情。

  • 克隆:可快速克隆规则。

  • 编辑:编辑规则后,需重新试跑。引用数据标规则只支持修改规则名称和规则强弱。

  • 试跑:试跑后,可单击image图标查看试跑日志

  • 运行:运行后,可在校验记录中查看校验结果。

  • 调度配置:可在弹框中筛选调度类型或用调度名称快捷搜索调度。也支持编辑调度。

  • 删除:删除此质量规则对象将删除对象下的所有质量规则,删除后不可撤销。

批量操作区

  • 您可单击下方试跑按钮批量试跑质量规则的对象。

  • 您可单击下方运行按钮批量运行质量规则的对象。

  • 您可单击下方配置调度按钮批量调度配置质量规则的对象。

  • 您可单击image图标选择开启,批量开启质量规则的对象的生效状态。

  • 您可单击image图标选择关闭,批量关闭质量规则的对象的生效状态。

  • 您可单击image图标选择删除,批量删除质量规则的对象。

步骤三:新建调度

说明
  • 规则配置调度时,可以基于该表格当前已有的调度快速进行配置(每个表上限20个调度规则)。

  • 同一个规则最多能配置10个调度。

  • 调度配置完全一致时,支持自动去重。

  • 若当前表为Hologres分区表,建议使用固定任务触发调度。

  • 校验分区会作为质量校验时的过滤条件下发到质量校验的语句中,控制每次质量校验的范围。校验分区也会作为后续质量报告等下游的基本单元,质量报告的查看会以校验分区为最小查看粒度。

  1. 单击新建调度

    image..png
  2. 新建调度对话框,配置参数。

    image..png

    参数

    描述

    调度名称

    自定义调度名称。

    调度类型

    支持定时调度、代码检查触发调度固定任务触发调度

    • 定时调度:按照设置的时间,周期性的对数据进行质量检测,适合数据文档产出的场景。

      • 调度周期:包含小时分钟五种周期类型。

    • 代码检查触发调度:在每一个代码任务执行时,会检查是否修改了该规则所覆盖的表/分区;如果涉及到配置了该调度方式的表发生变更,则会开始执行质量规则。

      说明

      适用于表的修改任务不固定/重点监控表,每次变更都需要监控的情况。

    • 固定任务触发调度:仅在指定的任务完成后,执行配置的质量规则。支持指定SQL、离线管道、Python、Shell、Datax、Spark_jar和Hive_MR的任务类型。

      说明
      • 适用于表的修改任务固定的情况。

      • 固定任务触发只能选择生产环境任务,若规则强度配置了强规则,调度任务校验失败,可能会影响线上任务,请根据业务需求谨慎操作。

      • 触发任务:支持选择所有任务均完成触发任一任务完成即触发任一任务执行前触发

    调度条件

    默认关闭,开启后,在质量规则正式调度前,会先判断是否满足调度条件。满足条件才会正式调度,不满足条件则忽略本次调度。

    • 业务日期/执行日期:若调度类型选择定时调度(定时调度不支持执行日期)、代码检查触发调度固定任务触发调度,支持配置日期,可选择普通日历自定义日历,如何自定义日历,请参见新建公共日历与标签

      • 若选择普通日历,则条件可选月份星期日期。例如下图:

        image
      • 若选择自定义日历,则条件可选日期类型标签。例如下图:

        image
    • 实例类型:若调度类型选择代码检查触发调度固定任务触发调度,支持配置实例类型,可选择周期实例补数据实例手动实例。例如下图:

      image
    说明
    • 至少配置一条规则。如需添加规则,请单击+添加规则按钮。

    • 最多配置10个调度条件。

    • 调度条件之间的关系可配置为且、或。

    校验范围

    当调度类型选择代码检查触发调度时,需配置任务更新的分区自定义分区

    • 任务更新的分区:若检查任务中更新了分区,则直接按照任务更新的分区下发任务。

      注意:动态分区场景可能解析不到分区,将不会进行质量校验。

    • 自定义分区:对于无法解析的场景,可以使用自定义分区,按照业务日期或者执行日期来指定校验的分区范围。分区表达式详情请参见内置分区表达式类型

    分区表达式

    您可以自定义配置分区表达式,如ds='${yyyyMMdd}'。

    也可以选择Dataphin内置分区表达式或对其进行修改,以帮助您快速配置,分区表达式详情请参见内置分区表达式类型

    说明
    • 若有多个分区条件进行校验,可用andor进行连接,如province="浙江" and ds<=${yyyyMMdd}。

    • 若质量规则中配置了过滤条件,则分区表达式和过滤条件之间为and关系,校验数据时,两个条件会一起进行过滤。

    • 若不填写分区表达式,则会对全表进行扫描。

      注意:全表扫描将会消耗较大的资源,并且部分不支持全表扫描,建议配置分区表达式以避免全表扫描。

    分区表达式触发

    若选择代码检查触发调度固定任务触发调度展示,默认开启

    • 开启分区表达式触发,则只有触发调度的分区满足分区表达式才会执行;如配置的分区表达式为每周一,则只有周一的分区更新会触发质量校验。

    • 关闭分区表达式触发,则每一次代码触发都会执行质量校验,执行的是根据配置的业务日期计算出的分区表达式;推荐当代码中触发分区为动态分区或表达式时使用。

    分区预算

    默认业务日期当天。

  3. 单击确定

调度配置列表

调度创建完成后,您可在调度配置列表进行查看、编辑、克隆、删除等操作

image..png

区域

描述

筛选及搜索区

支持按照调度名称进行快捷搜索。

支持按照定时调度触发调度进行筛选。

列表区

为您展示规则配置列表的调度名称调度类型最后更新人最后更新时间信息。

操作区

  • 您可单击操作列下image的图标编辑质量规则的调度配置。

  • 您可单击操作列下image的图标克隆质量规则的调度配置。

  • 您可单击操作列下image的图标删除质量规则的调度配置,您也可以单击下方image的图标批量删除质量规则的调度配置。

步骤四:告警配置

  1. 单击告警设置后,再单击右上角的编辑,在告警配置页面,选择告警接收人告警方式,可选择不超过5个告警接收人及不超过3个告警值班表。

    如果质量规则校验的结果为异常,则告警信息会发送至告警接收人。

    image..png
  2. 单击确定

步骤五:添加异常归档表

异常归档表实现质量规则校验异常的记录归档。

  1. 单击异常归档,再单击添加异常归档表按钮。

    image..png
  2. 添加异常归档表对话框,配置参数。

    image

    添加方式支持选择已有表新建表两种方式。增加了特殊的质量校验字段,异常数据归档不会写入原来的数据表。

    • 选择已有表:支持选择同项目或同数据源表,归档表包含必须的质量监控表的所有字段及校验字段(如Dataphin质量规则ID、质量规则名称、质量校验时间、异常归档模式、校验日期等字段)。

    • 新建表:可自定义表名,需在归档表所属项目或所属板块内,不超过128字符,默认填入当前表名_exception_data。添加成功后会在同库或同数据源新建表。

      归档表包含必须的质量监控表的所有字段及校验字段(如Dataphin质量规则ID、质量规则名称、质量校验时间、异常归档模式、校验日期等字段)。

  3. 单击确定,完成异常归档表添加。

查看异常归档表列表

添加成功后,默认第一个为归档表。点击异常归档表的名称,可以查看字段数据类型、字段描述信息。您可以对归档表执行设为默认删除操作。

  • 设为默认:若把该表设为默认,则异常数据只能归档到默认的归档表。

  • 删除:仅删除和异常归档表的引用关系,不会删除异常归档表本身,删除后如果需要可以重新添加。

    image

步骤六:查看质量报告

单击质量报告,查看当前质量规则的规则校验概览规则校验明细

  • 您可根据异常结果、分区时间、规则或对象的名称关键字快捷筛选校验明细。

  • 单击image图标,查看质量规则的规则校验详情。

  • 单击image图标,查看质量规则的执行日志。

image..png

步骤七:设置质量规则权限管理

  1. 单击权限管理,指定成员查看校验记录详情、质量规则详情、质量报告。

    可查看详情:可选择所有成员仅超级管理员、质量管理员和质量负责人

    image..png
  2. 单击确定

批量添加数据表质量规则

批量添加质量规则支持表级和字段级配置,便于提高规则配置效率。

  1. 按照下图操作指引,进入添加质量规则页面。

    image..png
  2. 添加质量规则页面,配置参数。

    1. 基本信息配置

      字段级基本信息配置

      image.png

      表级基本信息配置

      image.png

      参数

      描述

      规则名称规则强度描述配置方式规则模板规则类型

      详情请参见步骤二:新建质量规则

      配置方式不支持自定义SQL。

      对象筛选

      需配置表类型环境所属项目后,单击筛选按钮筛选数据表。表类型包括物理表事实逻辑表维度逻辑表汇总逻辑表

      • 如果您的表类型选择物理表,可通过选择环境所属项目筛选数据表。

      • 如果您的表类型选择逻辑表,可通过选择环境数据板块筛选数据表。

      对象选择

      勾选您所需配置的数据表及该数据表的字段。

      规则模板选择稳定性-表稳定性校验稳定性-表波动性校验时,支持表级配置。对象选择只需勾选数据表。

    2. 单击下一步

      单击取消后,此次配置的质量规则均不添加。

    3. 规则配置

      image

      参数

      描述

      基准表

      对象选择所勾选的数据表。基于该表的字段进行规则详情配置。例如:A表有id、name两个字段,B表有id、age两个字段,C表有name、age两个字段,以A表为基准表,id为校验字段,则B表校验通过,C表校验不通过。

      说明
      • 当规则模板选择复杂(即校验时除了校验字段外还需其他字段)配置模板时,需配置基准表。

      • 当需批量配置对比字段,不同的表,字段不同,则基准表可提供快捷选择。

        基准表适用场景:若有相似或者相同需求的情况下,推荐使用批量配置;若是完全不同的需求,使用基准表在第三步校验时一定会报错。

      规则配置规则校验异常归档

      详情请参见步骤二:新建质量规则

    4. 单击下一步

    5. 对象详情配置

      • 字段级详情配置

        您可查看所选数据表的字段校验信息,也可以修改规则名称,同时,您可以单击操作列下的image图标编辑该字段的规则配置和校验配置,也可以删除该字段或删除整个数据表。

        image
      • 表级详情配置

        您可查看所选数据表校验信息,也可以修改规则名称,同时,您可以单击操作列下的image图标编辑该表的规则配置和校验配置,也可以删除该数据表。

        image
    6. 完成配置后,单击添加规则

    7. 在质量规则列表,配置调度后,单击完成,即可在Dataphin数据表规则列表页面查看。

批量添加数据表规则列表

说明

建议在质量规则试跑成功后,并在生效状态开启的状态下保存。

批量质量规则创建完成后,您可在规则配置列表进行查看、编辑、试跑、运行、删除等操作。

image

区域

描述

筛选及搜索区

支持按照对象或者规则名称进行快捷搜索。

支持按照试跑失败未试跑未生效未配置调度进行筛选。

列表区

为您展示规则配置列表的对象名称规则名称所属数据表/所属数据板块试跑状态生效状态资源负责人质量负责人调度方式等信息。

生效状态:建议生效规则前先进行试跑,针对试跑成功的规则开启生效状态。避免错误的规则阻塞线上任务。

  • 开启生效状态后,所选规则会按照配置的调度自动执行。

  • 停用生效状态后,所选规则不会自动执行,但可以手动执行。

操作区

您可进行查看编辑调度配置试跑转交质量负责人删除操作。

  • 查看:可查看规则配置详情。

  • 编辑:编辑规则后,需重新试跑。

  • 调度配置:可在弹框中筛选调度类型或用调度名称快捷搜索调度。也支持编辑调度。详情请参见步骤三:新建调度

    说明
    • 批量配置调度时,需要确保所选资源表的分区表达式一致,如果配置的分区和表实际分区不一致,可能会报错。

    • 批量配置调度时,非分区表不会保存分区表达式,只会保存调度配置。

  • 试跑:试跑后,可单击image图标查看试跑日志

    说明

    批量运行时,建议选择相同分区的表。分区信息会直接下放执行,如果分区不一致可能会报错;同时非分区表不会接受参数,将直接执行。

  • 质量负责人管理:选择需要转交的质量负责人,单击确定

    image
  • 删除:删除此质量规则对象将删除对象下的所有质量规则,删除后不可撤销。

批量操作区

  • 您可单击下方试跑按钮批量试跑质量规则的对象。

    说明

    批量运行时,建议选择相同分区的表。分区信息会直接下放执行,如果分区不一致可能会报错;同时非分区表不会接受参数,将直接执行。

  • 您可单击下方配置调度按钮批量调度配置质量规则的对象。

    详情请参见步骤三:新建调度

    说明
    • 批量配置调度时,需要确保所选资源表的分区表达式一致,如果配置的分区和表实际分区不一致,可能会报错。

    • 批量配置调度时,非分区表不会保存分区表达式,只会保存调度配置。

  • 您可单击image图标选择开启,批量开启质量规则的对象的生效状态。

  • 您可单击image图标选择关闭,批量关闭质量规则的对象的生效状态。

  • 批量管理质量负责人:选择需要转交的质量负责人,单击确定

    image
  • 您可单击image图标选择删除,批量删除质量规则的对象。

数据表规则列表

您可以在质量规则列表页面查看已经配置的数据表规则信息,并进行查看、运行、质量负责人管理、删除等操作。

image..png

序号

描述

筛选及搜索区

您可以通过筛选条件过滤需要查询的质量规则。

您可以根据我负责的校验开关最近一次校验状态质量负责人表类型数据板块所属项目资源负责人条件进行精确筛选。

列表区

为您展示表名称校验开关生效/总质量规则数最近一次校验状态质量负责人表类型数据板块所属项目数据表质量规则详细信息,同时您可以在操作列对规则进行查看质量规则详情运行查看质量报告质量负责人管理删除的操作。

  • 查看质量规则详情:可查看数据表质量规则配置详情。

  • 运行:可根据配置的调度或自定义分区来运行数据表。

  • 查看质量报告:可查看数据表对应的质量报告。

  • 质量负责人管理:填写需要转交的质量负责人,可选择不超过20位。

    image
  • 删除:删除此质量规则对象将删除对象下的所有质量规则,删除后不可撤销。

批量操作区

您可以批量选择任务,进行运行质量负责人管理开启关闭删除权限管理操作。

  • 运行:可根据配置的调度或自定义分区来批量运行数据表。

  • 批量管理质量负责人:可批量追加修改质量负责人。

    • 追加:若当前质量管理人列表中的质量负责人已有20位,则不可添加。

    • 修改:可将当前质量管理人列表中的质量负责人全部修改成本次的指定的负责人,选择不超过20位。

      image
  • 开启/关闭:您可以批量开启或关闭质量规则的校验。

  • 删除:您可批量删除此质量规则对象将删除对象下的所有质量规则,删除后不可撤销。

  • 权限管理:您可指定成员查看校验记录详情、质量规则详情、质量报告。在质量规则权限管理对话框,选择可查看详情的成员,单击确定

    image
阿里云首页 智能数据建设与治理 Dataphin 相关技术圈