数据质量为您提供多种内置监控模板。本文为您介绍数据质量的校检逻辑及内置模板规则。
计算说明
计算波动率:您可以根据波动率计算公式(波动率=(样本-基准值)/基准值
)计算结果。
样本
当天采集的具体的样本的值。例如对于SQL任务表行数,1天波动检测,则样本是当天分区的表行数。
基准值
历史样本的对比值:
如果规则是SQL任务表行数,相比7天前的波动率,则基准值是7天前那一天分区产生的表行数。即今天的采样结果与7天前那一天分区的结果比较波动率。
如果规则是SQL任务表行数的7天平均值波动检测,则基准值是前7天的表行数的平均值。即(7天内每天表行数之和)/7。
校检逻辑
数据质量支持与固定值比较、波动值比较和动态阈值三种校检方式。
校检方式 | 校检逻辑 |
与固定值比较 |
|
波动值比较 | 波动率支持比较上升、下降、绝对值三种类型,以波动率绝对值为例:
|
动态阈值 | 您无需手动设置阈值,系统会自动根据算法模型实时检测指标的正确性。如果超出合理的波动范围,便进行报警。 |
内置模板规则说明
您可以通过内置规则模板快速为单表或一批表批量创建数据质量规则。详情请参见:配置规则:按表(单表)、配置规则:按模板(批量)。
模板分类 | 模板名称 | 描述 |
表行数 | 表行数,固定值 | 表行数。 |
表行数大于0 | 判断表行数是否大于0。 | |
表行数,1天差值 | 表的行数,相比1天前的差额。 说明 基准值为昨天分区的表行数,比较当天采集的表行数,对比差值。 | |
表行数,上周期差值 | 基准值为上一周期产生的分区的表行数,比较当天采集的表行数,对比差值。 | |
表行数,1,7,30天,本月1号,波动率 | 表行数,与1天前的样本、7天前的样本、30天前的样本和本月1号采集样本(表行数),进行比较,对比波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。 | |
表行数,1,7,30天波动率 | 同1天、1周和1个月前采集的表行数进行比较,对比波动率。 说明 表的行数,分别与昨天的样本、7天前的样本和30天前的样本来进行数据比对,计算波动率,再与阈值进行比较,只要其中有一个波动率超过阈值就会报警。 | |
表行数,1天波动率 | 基准值为昨天的样本(表行数),比较当天采集的表行数,对比波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。 | |
表行数,30天波动率 | 基准值为30天前的样本(表行数),比较当天采集的表行数,对比波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。 | |
表行数,7天波动率 | 基准值为7天前样本(表行数),比较当天采集的表行数,对比波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。 | |
表行数,动态阈值 | 开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 | |
表行数,30天平均值波动率 | 该模板用于监控表行数的波动情况,基准值是最近30天的表行数的平均值。即(30天内每天表行数之和)/30。 | |
表行数,7天平均值波动率 | 该模板用于监控表行数的波动情况,基准值是最近7天的表行数的平均值。即(7天内每天表行数之和)/7。 | |
表行数,上周期波动率 | 基准值为上一周期产生的分区的表行数,比较当天采集的表行数,对比波动率。 | |
表行数,自定义范围 | 自定义设置表行数的对比方式和比较阈值范围。 | |
条件匹配率 | 条件匹配占比,自定义范围 | 自定义设置过滤条件的匹配率的对比方式和比较阈值范围。 |
表大小 | 表大小,固定值。 | 表的空间大小(字节)。 |
表大小,相比1天前的差值(字节) | 表的空间大小,相较于1天前的差值(字节)。 | |
表大小,上周期差值。 | 相比上一周期表大小的差值(字节)。 | |
表大小,1天波动率 | 该模板用于监控表大小的波动情况,样本对比值是与昨天的额度样本进行比较,计算波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。 例如,填写橙色阈值为5%,红色阈值为10%。当波动率大于5%且小于等于10%时,会进行橙色报警。当波动率大于10%时,会进行红色报警。 | |
表大小,30天波动率 | 该模板用于监控表大小的波动情况,样本对比值是与30天前的额度样本进行比较,计算波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。 | |
表大小,7天波动率 | 该模板用于监控表大小的波动情况,样本对比值是与7天前的额度样本进行比较,计算波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。 | |
表大小,动态阈值 | 开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 | |
空值行数 | 空值个数,固定值 | 取该字段的空值数与固定值进行比较。 说明 是否为空值,是通过转换为SQL的 |
空值记录数为0 | 判断空值记录数是否为0。 | |
空值行数/总行数 | 空值个数/总行数,固定值 | 空值的个数与行总数的比率与一个固定值进行比较。 说明 该固定值是一个小数。 |
重复值行数 | 重复值个数,固定值 | 总行数减去重复后的个数,即字段重复值的个数。重复值个数与固定值进行比较。 |
字段重复值为0 | 判断字段重复值是否为0。 | |
多字段唯一值 | 多字段重复值为0 | 判断多字段重复值是否为0。 |
重复值个数/总行数 | 重复值个数/总行数,固定值 | 重复值个数与总行数的比率与一个固定值进行比较。 |
唯一值数 | 唯一值个数,固定值 | 去重后的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个月前的样本(字段平均值)进行比较,计算波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。 说明 该字段的平均值,分别与昨天该字段平均值,7天前该字段平均值,30天前该字段平均值进行比较。 |
平均值动态阈值 | 开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 | |
平均值,1天波动率 | 取该字段的平均值,与前1天进行比较,计算出波动率后,再与阈值进行比较。 | |
字段均值,自定义范围 | 自定义设置字段平均值的对比方式和比较阈值范围。 | |
汇总值 | 汇总值,1、7、30天波动率 | 取该字段的sum值,同1天、7天和1个月前的样本(字段平均值)进行比较,计算波动率。再与阈值进行比较,只要有一个不符合规则即可触发报警。 |
汇总值,动态阈值 | 开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 | |
汇总值,1天波动率 | 取该字段的sum值,与前1天进行比较,计算出波动率后,再与阈值进行比较。 | |
汇总值,上周期的波动率 | 取该字段的sum值,与上一周期进行比较,计算出波动率后,再与阈值进行比较,只要有一个不符合规则即可触发报警。 | |
字段汇总值,自定义范围 | 自定义设置字段汇总值的对比方式和比较阈值范围。 | |
离散值 | 离散值(状态值),固定值 | group by之后的分组,每组count数,与固定值进行比较。 |
离散值(分组个数),固定值 | group by之后的分组数,与固定值进行比较。 | |
离散值(分组个数),动态阈值 | 开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 | |
离散值(状态值),动态阈值 | 开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 | |
离散值(分组个数),1天波动率 | group by之后的分组数,与1天前样本进行比较,计算波动率。 | |
离散值(分组个数及状态值),1、7、30天波动率 | group by之后的分组数和分组后每组count数,与1天前的样本、7天前的样本、30天前的样本(离散值)进行比较,计算波动率。 |
EMR表不支持配置表大小类校验规则。
附录一:上一周期口径说明
上一周期任务可以通过排除掉相同业务日期的校验,按业务日期倒序排列,若业务日期相同,则再按运行时间进行倒序排列,取第一个执行的任务作为基准,详情请参见下表:
调度类型 | 业务日期 | 基准对比方式 | 常见问题 |
正常日调度场景 | 历史业务日期:
| 当业务日期为2024-06-06的调度任务开始校验时,取2024-06-05的校验作为基准进行比较。 | 补历史数据场景: 背景: 2024-06-01至2024-06-05日正常执行,但在2024-06-05日调度实例执行后,对该业务日期为2024-07-01日的实例进行了补数据,当业务日期2024-06-06调度任务开始校验时,基准对比日期为哪一天? 结论: 业务日期2024-06-06调度任务会取业务日期2024-07-01的校验作为基准进行对比。由于2024-07-01业务日期较大,因此,正常的日调度任务直至2024-07-02的调度实例执行完成前,都会以2024-07-01为基准。 |
正常小时调度场景 | 历史业务日期:
任务按小时调度,每日执行3次。 | 当业务日期2024-06-04的小时调度任务开始校验时,取业务日期2024-06-03的最后一次校验作为基准进行对比。 | 小时调度场景: 背景: 2024-06-01至2024-06-03每日三个小时调度与业务日期2024-06-04的第1个调度正常执行,那么在业务日期2024-06-04的第2调度实例开始校验时,基准对比的日期为哪一天? 结论: 业务日期2024-06-04的第2个调度任务实例开始校验时,会排除掉当天(2024-06-04)的第1次校验,取业务日期2024-06-03的最后一次校验作为基准进行对比。 |
附录二:小时任务N天前样本值口径说明
小时任务取N天前样本时,会先按照第N天运行时间(非定时时间)倒序排列,默认获取运行时间倒序排列后的第一个实例的结果数据作为样本值与当前结果进行比较,详情请参见下表:
调度类型 | 业务日期 | 波动率对比方式 | 常见问题 |
正常小时调度场景 | 历史业务日期:
任务按小时调度,每日执行3次。 | 若对比的是7日波动率,当运行日期为2024-06-08的小时调度任务开始校验时,取运行日期为2024-06-01日最后一次的样本值。 | 小时调度场景: 背景: 2024-06-01至2024-06-08每日三个小时调度,那么在运行日期2024-06-08的第2个调度实例开始校验时,7日波动率对比的是哪一天的哪一个调度结果作为样本值? 结论: 运行日期2024-06-08日第2个调度任务实例开始校验时,取任务日期2024-06-01日最后一次校验作为样本值进行7日波动率的对比。 |