数据质量为您提供内置表级别、字段级别的监控模板。本文为您介绍数据质量的校检逻辑及内置模板规则。

计算说明

计算波动率:您可以根据波动率计算公式(波动率=(样本-基准值)/基准值)计算结果。
  • 样本

    当天采集的具体的样本的值。例如对于SQL任务表行数,1天波动检测,则样本是当天分区的表行数。

  • 基准值
    历史样本的对比值:
    • 如果规则是SQL任务表行数,相比7天前的波动率,则基准值是7天前那一天分区产生的表行数。即今天的采样结果与7天前那一天分区的结果比较波动率。
    • 如果规则是SQL任务表行数,7天平均值波动检测,则基准值是前7天的表行数的平均值。即(7天内每天表行数之和)/7。

校检逻辑

数据质量支持与固定值比较、波动值比较和动态阈值三种校检方式。
校检方式校检逻辑
与固定值比较
  1. 根据校验的表达式进行计算,返回布尔值。支持以下比较操作符:

    ><>=<=!=

  2. 如果上述计算结果为true,返回正常,否则返回红色报警。
波动值比较

波动率支持比较上升、下降、绝对值三种类型,以波动率绝对值为例:

  • 如果校验值的绝对值小于或等于橙色阈值,则返回正常
  • 如果校验值的绝对值不满足第1种情况,且小于或等于红色阈值,则返回橙色报警
  • 如果校验值不满足第2种情况,则返回红色报警
动态阈值您无需手动设置阈值,系统会自动根据算法模型实时检测指标的正确性。如果超出合理的波动范围,便进行报警。
重要 您需要购买DataWorks企业版及以上版本,才可以使用动态阈值。

内置模板规则说明

内置模板分为表级和字段级的模板规则,支持您通过内置规则模板来快速为一批表批量创建数据质量规则。详情请参见:配置规则:按表(单表)配置规则:按模板(批量)

离线数据内置模板
表 1. 表级规则
模板名称描述
表行数,固定值。表行数。
表行数,1,7,30天波动率。同1天、1周和1个月前采集的表行数进行比较,对比波动率。
说明 表的行数,分别与昨天的样本、7天前的样本和30天前的样本来进行数据比对,计算波动率,再与阈值进行比较,只要其中有一个波动率超过阈值就会报警。
表行数,7天平均值波动率。该模板用于监控表行数的波动情况,基准值是最近7天的表行数的平均值。即(7天内每天表行数之和)/7。
表行数,30天平均值波动率。该模板用于监控表行数的波动情况,基准值是最近30天的表行数的平均值。即(30天内每天表行数之和)/30。
表行数,1天波动率。基准值为昨天的样本(表行数),比较当天采集的表行数,对比波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。
表行数,7天波动率。基准值为7天前样本(表行数),比较当天采集的表行数,对比波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。
表行数,30天波动率。基准值为30天前的样本(表行数),比较当天采集的表行数,对比波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。
表行数,1,7,30天,本月1号,波动率。表行数,与1天前的样本、7天前的样本、30天前的样本和本月1号采集样本(表行数),进行比较,对比波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。
表行数,上周期波动率。基准值为上一周期产生的分区的表行数,比较当天采集的表行数,对比波动率。
表行数,1天差值。表的行数,相比1天前的差额。
说明 基准值为昨天分区的表行数,比较当天采集的表行数,对比差值。
表行数,上周期差值。基准值为上一周期产生的分区的表行数,比较当天采集的表行数,对比差值。
表大小,固定值。表的空间大小(字节)。
表大小,1天波动率。该模板用于监控表大小的波动情况,样本对比值是与昨天的额度样本进行比较,计算波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。

例如,填写橙色阈值为5%,红色阈值为10%。当波动率大于5%且小于等于10%时,会进行橙色报警。当波动率大于10%时,会进行红色报警。

表大小,7天波动率。该模板用于监控表大小的波动情况,样本对比值是与7天前的额度样本进行比较,计算波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。

例如,填写橙色阈值为5%,红色阈值为10%。当波动率大于5%且小于等于10%时,会进行橙色报警。当波动率大于10%时,会进行红色报警。

表大小,上周期差值。相比上一周期表大小的差值(字节)。
表大小,相比1天前的差值(字节)。表的空间大小,相比1天前的差值(字节)。
说明 EMR表不支持配置表大小类校验规则。
表 2. 字段级规则
模板名称描述
平均值,1、7、30天波动率。取该字段的平均值,与1天、7天和1个月前的样本(字段平均值)进行比较,计算波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。
说明 该字段的平均值,分别与昨天该字段平均值,7天前该字段平均值,30天前该字段平均值进行比较。
汇总值,1、7、30天波动率。取该字段的sum值,同1天、7天和1个月前的样本(字段平均值)进行比较,计算波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。
最小值,1、7、30天波动率。取该字段的最小值,同1天、7天和1个月前的样本(字段平均值)进行比较,计算波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。
最大值,1、7、30天波动率。取该字段的最大值,同1天、7天和1个月前的样本(字段平均值)进行比较,计算波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。
唯一值个数,固定值。去重后的count数与一个期望数字进行比较,即固定值校检。
唯一值个数,1、7、30天波动率。去重后的count数与1天、1周和1个月前的样本(字段为一值个数)比较进行比较,即固定值校检。
空值个数,固定值。取该字段的空值数与固定值进行比较。
说明 是否为空值,是通过转换为SQL的is null进行判断。
空值个数/总行数,固定值。空值的个数与行总数的比率与一个固定值进行比较。
说明 该固定值是一个小数。
重复值个数/总行数,固定值。重复值个数与总行数的比率与一个固定值进行比较。
重复值个数,固定值。总行数减去重后的个数,即字段重复值的个数。重复值个数与固定值进行比较。
唯一值个数/总行数。唯一值个数与总行数的比率与一个固定值进行比较。
离散值(状态值),固定值。group by之后的分组,每组count数,与固定值进行比较。
离散值(分组个数及状态值),1、7、30天波动率。group by之后的分组数和分组后每组count数,与1天前的样本、7天前的样本、30天前的样本(离散值)进行比较,计算波动率。
离散值(分组个数),固定值group by之后的分组数,与固定值进行比较。
离散值(分组个数),1天波动率group by之后的分组数,与1天前样本进行比较,计算波动率。
平均值,1天波动率取该字段的平均值,与前1天进行比较,计算出波动率后,再与阈值进行比较。
汇总值,1天波动率取该字段的sum值,与前1天进行比较,计算出波动率后,再与阈值进行比较。
最小值,1天波动率取该字段的最小值,与前1天进行比较,计算出波动率后,再与阈值进行比较。
最大值,1天波动率取该字段的最大值,与前1天进行比较,计算出波动率后,再与阈值进行比较。
汇总值,上周期的波动率。取该字段的sum值,与上一周期进行比较,计算出波动率后,再与阈值进行比较,只要有一个不符合规则即可触发报警。
最小值,上周期的波动率。取该字段的最小值,与上一周期进行比较,计算出波动率后,再与阈值进行比较,只要有一个不符合规则即可触发报警。
最大值,上周期的波动率。取该字段的最大值,与上一周期进行比较,计算出波动率后,再与阈值进行比较,只要有一个不符合规则即可触发报警。