质量规则是数据质量管理的基础,本文为您介绍如何配置质量规则。

前提条件

数据表已提交或发布到生产环境中。

步骤一 新建质量规则

  1. 登录Dataphin控制台
  2. 在Dataphin控制台页面,选择工作区地域后,单击进入Dataphin>>
  3. 在Dataphin首页,单击顶部菜单栏中的资产
  4. 在数据资产页面,单击顶部菜单栏的质量
  5. 在数据质量页面,单击左侧导航栏的质量规则
  6. 质量规则页面,单击新建质量规则,进入新建质量规则页面。
  7. 根据新建质量规则对话框提示,选择数据表后单击开始配置
    • 单击agag图标后,选择业务板块所属项目表类型来筛选表。
    • 在搜索框中输入表名称的关键字快速筛选表。
    gaga

步骤二 设置告警

如果质量规则校验的结果为异常,则告警中心告警给告警信息的接收人:

  1. 单击告警设置后的fagag图标。
    gaga
  2. 根据告警设置对话框提示,选择告警接收人告警方式后,并单击确定
    faga

步骤三 新建分区表达式

分区表达式用于限定一组质量规则的作用范围。数据表可以有多个分区表达式,每个分区表达式下可以配置多个质量规则,如下图所示。gaga
  1. 单击质量规则配置后的新建分区表达式
  2. 根据新建分区表达式页面提示,选择分区表达式类型并填写分区表达式后,单击保存
    • 如果您选择的是系统提供的分区表达式类型,则系统自动填写分区表达式。
      分区表达式类型 描述
      最近一天 系统自动填充分区表达式为ds='${yyyyMMdd}'
      本周第一天 系统自动填充分区表达式为ds=tdBeginDate('${yyyyMMdd}', 'w', 'yyyyMMdd')
      本周最后一天 系统自动填充分区表达式为ds=customEndDate('${yyyyMMdd}', 'w', '1', 0, 'yyyyMMdd')
      本月第一天 系统自动填充分区表达式为ds=tdBeginDate('${yyyyMMdd}', 'm', 'yyyyMMdd')
      本月最后一天 系统自动填充分区表达式为ds=customEndDate('${yyyyMMdd}', 'm', '01', 0, 'yyyyMMdd')
      本季度第一天 系统自动填充分区表达式为ds=tdBeginDate('${yyyyMMdd}', 'q', 'yyyyMMdd')
      本季度最后一天 系统自动填充分区表达式为ds=customEndDate('${yyyyMMdd}', 'q', '0101', 0, 'yyyyMMdd')
      本年第一天 系统自动填充分区表达式为ds=tdBeginDate('${yyyyMMdd}', 'y', 'yyyyMMdd')
      本年最后一天 系统自动填充分区表达式为ds=customEndDate('${yyyyMMdd}', 'y', '0101', 0, 'yyyyMMdd')
      上月第一天 系统自动填充分区表达式为ds=cBeginDate('${yyyyMMdd}', 'm', 'yyyyMMdd')
      上月最后一天 系统自动填充分区表达式为ds=cEndDate('${yyyyMMdd}', 'm', 'yyyyMMdd')
      所有分区 系统自动填充分区表达式为ds=ALL
    • 如果您选择的是自定义,则需您手动填写分区表达式,例如ds=${yyyyMM01}
    同时您也可以对已添加的分区表达式执行如下操作:
    • 单击分区表达式后的gaga图标,编辑分区表达式。
    • 单击分区表达式后的gaga图标,删除分区表达式。

步骤四 配置质量规则

配置分区表达式下的质量规则:

  1. 单击分区表达式后的新建质量规则
  2. 根据新建规则页面提示完成参数配置,并单击保存
    目前数据质量规则配置包括质量模板规则自定义规则:
    • 如果您选择的是质量模板规则gaga
      参数 描述
      对象名称 选择质量规则校验的对象。对象名称包括表:表名称字段:表所包含的字段
      规则强度 选择质量规则的强弱:
      • 如果您选择了强规则,则质量规则校验的结果为异常时报警并阻塞下游任务节点。
      • 如果您选择了弱规则,则质量规则校验的结果为异常时报警但不阻塞下游任务节点。
      模板类型 选择质量规则校验的维度。根据质量规则校验对象的类型,系统会自动为您呈现对应校验模板的类型,详情请参见表 1
      趋势
      • 如果校验类型为波动型,则趋势包括绝对值向上向下
      • 如果校验类型为对比型,则趋势固定值
      详情请参见表 1
      对比设置 选择质量规则校验的结果与目标值的对比规则目标值对比规则包括大于目标值大于等于目标值等于目标值小于目标值小于等于目标值,且需要设置对比规则对应的目标值
      波动阈值 设定质量规则校验结果的波动阈值,波动监测阈值设定在对比值基础上的0~10倍率的范围内。
      表 1. 配置表
      对象名称 模板类型 趋势 配置项 校验类型
      表:表名称 表/分区大小1天波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区行数1天波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区大小7天波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区行数7天波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区行数30天波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区行数1,7,30天波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区行数大小7天平均波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区行数30天对比 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表分区数 固定值 对比设置 对比型
      表:表名称 表分区数波动检测 绝对值、向上、向下 波动阈值 波动型
      表:表名称 表/分区行数1,7,30,本月1号分区波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段唯一值个数期望校验 固定值 对比设置 对比型
      字段:表所包含的字段名称 字段唯一值1,7,30天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段平均值1,7,30天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段最大值1天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段最大值1,7,30天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段最小值1天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段最小值1,7,30天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段汇总值1天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段汇总值1,7,30天波动检测 绝对值、向上、向下 波动阈值 波动型
      字段:表所包含的字段名称 字段空值个数 固定值 对比设置 对比型
      字段:表所包含的字段名称 空值率(字段空值个数/行数) 固定值 对比设置 对比型
      字段:表所包含的字段名称 字段重复个数 固定值 对比设置 对比型
      字段:表所包含的字段名称 重复率(字段重复个数/总行数) 固定值 对比设置 对比型
    • 如果您选择的是自定义规则gaga
      参数 描述
      规则名称 填写规则名称。
      规则内容 填写质量规则校验的内容,例如。
      select
        sum(value) as metric
      from
        current_table ctb
        left outer join related_table rtb on ctb.id = rtb.id
      where
        ds = ${bizdate};
      规则强度 选择质量规则的强弱:
      • 如果您选择了强规则,则质量规则校验的结果为异常时报警并阻塞下游任务节点。
      • 如果您选择了弱规则,则质量规则校验的结果为异常时报警但不阻塞下游任务节点。
      检测类型 选择质量规则校验的类型。检测类型包括1天波动7天波动7天平均值波动30天平均值波动对比固定值
      趋势
      • 如果校验类型为波动型,则趋势包括绝对值向上向下
      • 如果校验类型为对比型,则趋势固定值
      对比设置 选择质量规则校验的结果与目标值的对比规则目标值对比规则包括大于目标值大于等于目标值等于目标值小于目标值小于等于目标值,且需要设置对比规则对应的目标值
      波动阈值 设定质量规则校验结果的波动阈值,波动监测阈值设定允许范围为0.0~10.0。
  3. 选择已添加的质量规则,单击下方的测试试跑,试跑成功后打开校验开关,质量规则即可生效。
    afa试跑状态包括:
    • 未试跑
    • 试跑成功
    • 试跑失败
    • 试跑中