创建指标质量规则
为了提升指标质量监控的便捷性,Dataphin支持创建校验指标的质量规则。指标参与质量规则校验时,如果触发了质量监控规则,系统会给您发送告警消息,便于您及时发现并处理异常。本文为您介绍如何单独配置指标质量规则和批量配置指标质量规则。
前提条件
已发布指标至生产环境。如何发布指标至生产环境,请参见管理发布任务。
权限校验
超级管理员、质量管理员和资源负责人可以添加监控对象及引入逻辑表资源。
超级管理员、质量管理员和质量负责人可以批量配置质量规则。
质量负责人、普通用户需具备逻辑表字段的读权限,如果没有权限,则需要申请数据表权限,详情请参见申请、续期和交还表权限。
超级管理员、质量管理员可查看所有指标的质量规则。
项目成员可查看自己所加入的项目的指标的质量规则。
普通成员(个人)可查看数据表的质量负责人是自己的指标的质量规则。
特殊的,若质量规则中开启了权限限制,则优先遵循质量规则的权限限制执行。
从不同视角查看质量规则
Dataphin支持从全局、项目、个人三个视角查看指标的质量规则。

全局:超级管理员、质量管理员可从全局查看所有指标质量规则。
项目:超级管理员、质量管理员支持切换所有项目查看指标的质量规则,项目成员仅可选择已加入的项目并查看该项目下的指标的质量规则。
个人:超级管理员、质量管理员支持切换至任一成员查看指标质量规则,普通成员仅可查看质量负责人是自己的指标质量规则并且不支持切换。
当从项目视角查看质量规则时,筛选项不展示所属项目。
当从个人视角查看质量规则时,筛选项不展示质量负责人。
步骤一:选择质量规则的指标
在Dataphin首页,单击顶部菜单栏的资产。
按照下图操作指引,进入添加监控对象对话框。
在添加监控对象对话框,根据数据板块、所属项目筛选汇总逻辑表和指标。
单击配置质量规则。
步骤二:新建质量规则
单击新建质量规则。
在新建质量规则对话框,配置参数后,单击保存。
参数
描述
规则名称
自定义质量规则的名称。
规则强度
选择质量规则的强弱:
如果您选择了强规则,则质量规则校验的结果为异常时报警,同时在有下游任务的情况下(代码检查调度、任务触发调度)会阻塞下游任务,防止污染数据扩散;如果没有下游任务(如周期质量调度),则仅告警。
如果您选择了弱规则,则质量规则校验的结果为异常时报警但不阻塞下游任务节点。
描述
自定义质量规则描述。不超过128字符。
配置方式
模板创建:使用通用的系统模板和自定义的业务模板,快速创建质量规则。
系统模板:模板内置参数可配置,适合通用的规则创建。
自定义模板:模板预置参数,无需配置,一般用于含业务逻辑的规则创建。
自定义SQL:可通过SQL灵活自定义质量监控规则,适用于灵活复杂场景。
规则模板
下拉可选择规则模板,唯一性、稳定性、自定义SQL。
唯一性:包含字段分组个数校验和字段重复值个数校验。
稳定性:包含字段稳定性校验和字段波动性校验。
自定义SQL:包含自定义统计指标校验。
详情请参见模板类型说明。
规则类型
规则类型包含系统类型和自定义类型。
系统类型和模板有关,是模板最基础的属性。
支持用户自定义模板的类型,作为说明和筛选功能。
规则配置
当规则模板选择为唯一性大类时,对应的参数如下所示。
字段分组个数校验/字段重复值个数校验:
校验表数据过滤:默认关闭,开启后可配置校验表的过滤条件或分区过滤或普通数据过滤,过滤条件将会直接追加至校验SQL中;如校验表有分区过滤需求,建议在调度配置中配置分区表达式,配置后会以校验分区为最小查看粒度查看质量报告。填写数据过滤内容,例如:
id=12 --单表 T1.id=12 and T2.name = "张三" --双表
当规则模板选择为稳定性大类时,对应的参数如下所示。
字段稳定性校验/字段波动性校验:
统计方式:建议根据业务场景选择统计方式。
校验表数据过滤:默认关闭,开启后可配置校验表的过滤条件或分区过滤或普通数据过滤,过滤条件将会直接追加至校验SQL中;如校验表有分区过滤需求,建议在调度配置中配置分区表达式,配置后会以校验分区为最小查看粒度查看质量报告。填写数据过滤内容,例如:
id=12 --单表 T1.id=12 and T2.name = "张三" --双表
当规则模板选择为自定义SQL大类时,对应的参数如下所示。
自定义统计指标校验:
自定义SQL:支持select查询语句,查询对象须包含主表。例如:
select sum(sale) from tableA where ds=${bizdate};
规则校验
数据质量规则校验后,结果会和异常校验的配置进行对比,符合条件则校验结果为不通过;同时触发告警等后续流程。
异常校验可用指标由模板和配置内容决定,支持多种条件的and / or条件,实际配置中建议小于3条。
详情请参见创建全域数据表规则的校验配置说明。
模板类型说明
划分
模板规则/类型
描述
表粒度
与上一周期相比表大小的波动
基准值为昨天的全表大小(Byte),比较当天的表大小,对比波动率,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
表/分区大小1天波动检测
基准值为昨天分区下的表大小(Byte),比较当天采集的表大小,对比波动率,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
表/分区大小7天波动检测
基准值为7天前产生的表大小(Byte),比较当天采集的表大小,对比波动率,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
表/分区行数1,7,30,本月1号波动检测
与1天、1周、1个月前、本月1号采集的表行数进行比较,对比波动率,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
表/分区行数1,7,30波动检测
与1天、1周、1个月前采集的表行数进行比较,对比波动率,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
表/分区行数1天波动检测
基准值为昨天产生的分区的表行数,比较当天采集的表行数,对比波动率。
表/分区行数7天波动检测
基准值为1周前产生的分区的表行数,比较当天采集的表行数,对比波动率。
表/分区行数30天波动检测
基准值为1个月前产生的分区的表行数,比较当天采集的表行数,对比波动率。
表行数,上一周期比较
基准值为上一周期产生的分区的表行数,比较当天采集的表行数,对比差值。
表/分区行数大小7天平均波动检测
基准值是最近7天的表行数的平均值,对比最近7天平均值的波动率。
表/分区行数30天对比
基准值为30天前产生的分区的表行数,比较当天采集的表行数,对比差值。
表分区数
表分区的数量。固定值,可设置大于、小于、等于目标阈值。
表分区数波动检测
基准值为昨天产生的分区数量,比较当天采集的表分区数,对比波动率。
字段粒度
字段唯一值个数期望校验
去重后的字段COUNT数与设定的期望数字进行比较,即固定值校检。
字段唯一值1,7,30天波动检测
去重后的字段COUNT数与1天、1周、1个月前进行比较,即固定值校检。
字段平均值1,7,30天波动检测
取该字段的平均值,同1天、7天、一个月的周期进行比较,计算波动率。再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
字段最大值1天波动检测
字段最大值,对比1天前的波动率。取该字段的最大值,与前1天进行比较,计算出波动率后,再与阈值进行比较。
字段最大值1,7,30天波动检测
取该字段的最大值,同1天、7天、一个月的周期进行比较,计算波动率后,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
字段最小值1天波动检测
字段最小值,相比1天前的波动率。
取该字段的最小值,与前1天进行比较,计算出波动率后,再与阈值进行比较。
字段最小值1,7,30天波动检测
取该字段的最小值,同1天、7天、一个月的周期进行比较,计算波动率后,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
字段汇总值1天波动检测
字段汇总值,相比1天前的波动率。 取该字段的SUM值,与前1天进行比较,计算出波动率后,再与阈值进行比较。
字段汇总值1,7,30天波动检测
取该字段的SUM值,同1天、7天、一个月的周期进行比较,计算波动率后,再与设定的阈值进行比较,只要有一个不符合规则,则触发报警。
字段空值个数
取该字段的空值数与设定的固定值进行比较。
空值率(字段空值个数/行数)
空值的个数与行总数的比率与一个固定值进行比较。
字段重复个数
重复值个数与固定值进行比较(总行数减去重后的个数,即字段重复值的个数)。
重复率(字段重复个数/总行数)
重复值个数与总行数的比率与一个固定值进行比较。
离散值监控(分组个数)
字段分组后的离散点总数。
预览SQL
说明关键信息没有填写完整,预览SQL不可用。
左边为上次保存配置SQL预览,若未配置,则为空;右边为当前配置SQL预览。
规则配置列表
您可以在规则配置列表页面查看已经配置的指标规则信息,并进行查看、编辑、试跑、运行、删除等操作。
区域
描述
①筛选及搜索区
支持按照对象或者规则名称进行快捷搜索。
支持按照规则类型、规则模板、规则强度、试跑状态、生效状态进行筛选。
②列表区
为您展示规则配置列表的对象名称、规则名称、试跑状态、生效状态、规则类型、规则模板、规则强度、调度类型信息。
生效状态:建议生效规则前先进行试跑,针对试跑成功的规则开启生效状态。避免错误的规则阻塞线上任务。
开启生效状态后,所选规则会按照配置的调度自动执行。
停用生效状态后,所选规则不会自动执行,但可以手动执行。
③操作区
您可进行查看、克隆、编辑、试跑、运行、调度配置、删除操作。
查看:可查看规则配置详情。
克隆:可快速克隆规则。
编辑:编辑规则后,需重新试跑。
试跑:试跑后,可单击
图标查看试跑日志。
运行:运行后,可在校验记录中查看校验结果。
调度配置:可在弹框中筛选调度类型或用调度名称快捷搜索调度。也支持编辑调度。
删除:删除此质量规则对象将删除对象下的所有质量规则,删除后不可撤销。
④批量操作区
您可单击下方试跑按钮批量试跑质量规则的对象。
您可单击下方运行按钮批量运行质量规则的对象。
您可单击下方配置调度按钮批量调度配置质量规则的对象。
您可单击
图标选择开启,批量开启质量规则的对象的生效状态。
您可单击
图标选择关闭,批量关闭质量规则的对象的生效状态。
您可单击
图标选择删除,批量删除质量规则的对象。
步骤三:新建调度
规则配置调度时,可以基于该表格当前已有的调度快速进行配置(每个表上限20个调度规则)。
同一个规则最多能配置10个调度。
调度配置完全一致时,支持自动去重。
校验分区会作为质量校验时的过滤条件下发到质量校验的语句中,控制每次质量校验的范围。校验分区也会作为后续质量报告等下游的基本单元,质量报告的查看会以校验分区为最小查看粒度。
单击新建调度。
在新建调度对话框,配置参数后单击确定。
参数
描述
调度名称
自定义调度名称。
调度类型
支持定时调度、代码检查触发调度和固定任务触发调度。
定时调度:按照设置的时间,周期性的对数据进行质量检测,适合数据文档产出的场景。
调度周期:包含日、周、月、小时、分钟五种周期类型。
代码检查触发调度:在每一个代码任务执行时,会检查是否修改了该规则所覆盖的表/分区;如果涉及到配置了该调度方式的表发生变更,则会开始执行质量规则。
说明适用于表的修改任务不固定/重点监控表,每次变更都需要监控的情况。
固定任务触发调度:仅在指定的任务完成后,执行配置的质量规则。支持指定SQL、离线管道、Python、Shell、Datax、Spark_jar和Hive_MR的任务类型。
说明适用于表的修改任务固定的情况。
固定任务触发只能选择生产环境任务,若规则强度配置了强规则,调度任务校验失败,可能会影响线上任务,请根据业务需求谨慎操作。
触发任务:支持选择所有任务均完成触发和任一任务执行前触发。
调度条件
默认关闭,开启后,在质量规则正式调度前,会先判断是否满足调度条件。满足条件才会正式调度,不满足条件则忽略本次调度。
业务日期/执行日期:若调度类型选择定时调度(定时调度不支持执行日期)、代码检查触发调度、固定任务触发调度,支持配置日期,可选择普通日历或自定义日历,如何自定义日历,请参见新建公共日历与标签。
若选择普通日历,则条件可选月份、星期、日期。例如下图:
若选择自定义日历,则条件可选日期类型、标签。例如下图:
实例类型:若调度类型选择代码检查触发调度、固定任务触发调度,支持配置实例类型,可选择周期实例、补数据实例、手动实例。例如下图:
说明至少配置一条规则。如需添加规则,请单击+添加规则按钮。
最多配置10个调度条件。
调度条件之间的关系可配置为且、或。
校验范围
当调度类型选择代码检查触发调度时,需配置任务更新的分区或自定义分区。
任务更新的分区:若检查任务中更新了分区,则直接按照任务更新的分区下发任务。
注意:动态分区场景可能解析不到分区,将不会进行质量校验。
自定义分区:对于无法解析的场景,可以使用自定义分区,按照业务日期或者执行日期来指定校验的分区范围。分区表达式详情请参见内置分区表达式类型。
分区表达式
您可以自定义配置分区表达式,如
ds='${yyyyMMdd}'
。也可以选择Dataphin内置分区表达式或对其进行修改,以帮助您快速配置,分区表达式详情请参见内置分区表达式类型。
说明若有多个分区条件进行校验,可用and或or进行连接,如
province="浙江" and ds<='${yyyyMMdd}'。
若质量规则中配置了过滤条件,则分区表达式和过滤条件之间为and关系,校验数据时,两个条件会一起进行过滤。
若不填写分区表达式,则会对全表进行扫描。
注意:全表扫描将会消耗较大的资源,并且部分不支持全表扫描,建议配置分区表达式以避免全表扫描。
分区表达式触发
若选择代码检查触发调度或固定任务触发调度展示,默认开启。
开启分区表达式触发,则只有触发调度的分区满足分区表达式才会执行;如配置的分区表达式为每周一,则只有周一的分区更新会触发质量校验。
关闭分区表达式触发,则每一次代码触发都会执行质量校验,执行的是根据配置的业务日期计算出的分区表达式;推荐当代码中触发分区为动态分区或表达式时使用。
分区预算
默认业务日期当天。
调度配置列表
调度创建完成后,您可在调度配置列表进行查看、编辑、克隆、删除等操作

区域 | 描述 |
①筛选及搜索区 | 支持按照调度名称进行快捷搜索。 支持按照定时调度、代码检查触发调度、固定任务触发调度进行筛选。 |
②列表区 | 为您展示规则配置列表的调度名称、调度类型、最后更新人、最后更新时间信息。 |
③操作区 |
|
步骤四:告警配置
单击告警设置,再单击右上角的编辑,在告警配置页面,选择告警接收人及告警方式后,可选择不超过5个告警接收人及不超过3个告警值班表。
如果质量规则校验的结果为异常,则告警信息会发送至告警接收人。
单击确定。
步骤五:查看质量报告
单击质量报告,查看当前质量规则的规则校验概览和规则校验明细。
您可根据异常结果、分区时间、规则或对象的名称关键字快捷筛选校验明细。
单击
图标,查看质量规则的规则校验详情。
单击
图标,查看质量规则的执行日志。

步骤六:设置质量规则权限管理
单击权限管理,指定成员查看校验记录详情、质量规则详情、质量报告。
可查看详情:可选择所有成员或仅超级管理员、质量管理员和质量负责人。
单击确定。
批量添加指标质量规则
批量添加指标质量规则,便于提高规则配置效率。
按照下图操作指引,进入添加质量规则页面。
在添加质量规则页面,配置参数。
基本信息配置
参数
描述
规则名称、规则强度、描述、规则模板、规则类型
详情请参见步骤二:新建质量规则。
对象筛选
需配置数据板块、所属项目、汇总逻辑表后,单击筛选按钮筛选指标。
对象选择
勾选您所需配置的数据表及该数据表的字段。
单击下一步。
单击取消后,此次配置的质量规则均不添加。
规则配置
参数
描述
规则配置、规则校验、异常归档
详情请参见步骤二:新建质量规则。
单击下一步。
对象详情配置
您可查看所选汇总逻辑表的指标校验信息,也可以修改规则名称,同时,您可以单击操作列下的
图标编辑该字段的规则配置和校验配置,也可以删除该指标。
完成配置后,单击添加规则。
在质量规则列表,配置调度后,单击完成,即可在指标规则列表页面查看。
批量添加指标规则列表
建议在质量规则试跑成功后,并在生效状态开启的状态下保存。
批量质量规则创建完成后,您可在规则配置列表进行查看、编辑、试跑、运行、删除等操作。

区域 | 描述 |
①筛选及搜索区 | 支持按照对象或者规则名称进行快捷搜索。 支持按照试跑失败、未试跑、未生效、未配置调度进行筛选。 |
②列表区 | 为您展示规则配置列表的对象名称、规则名称、所属数据表/所属数据板块、试跑状态、生效状态、资源负责人、质量负责人、调度方式等信息。 生效状态:建议生效规则前先进行试跑,针对试跑成功的规则开启生效状态。避免错误的规则阻塞线上任务。
|
③操作区 | 您可进行查看、编辑、调度配置、试跑、转交质量负责人、删除操作。
|
④批量操作区 |
|
指标规则列表
您可以在质量规则列表页面查看已经配置的指标规则信息,并进行查看、运行、质量负责人管理、删除等操作。

序号 | 描述 |
①筛选及搜索区 | 支持按照指标名称进行模糊搜索。 您可以根据我负责的、校验开关、最近一次校验状态、质量负责人、指标类型、数据板块、所属项目、资源负责人条件进行精确筛选。 |
②列表区 | 为您展示指标名称、校验开关、生效/总质量规则数、最近一次校验状态、质量负责人、指标类型、统计粒度、数据板块、所属项目指标质量规则详细信息,同时您可以在操作列对规则进行查看质量规则详情、运行、查看质量报告、质量负责人管理、删除的操作。
|
③批量操作区 | 您可以批量选择任务,进行运行、质量负责人管理、开启、关闭、删除、权限管理操作。
|