数据质量为您提供多种内置监控模板。本文为您介绍数据质量的校检逻辑及内置模板规则。
内置模板规则说明
您可以通过内置规则模板快速为单表或一批表批量创建数据质量规则。详情请参见:配置规则:按表(单表)、配置规则:按模板(批量)。
|
模板分类 |
模板名称 |
描述 |
|
表行数 |
表行数,固定值 |
表行数。 |
|
表行数大于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天前的额度样本进行比较,计算波动率,再与阈值进行比较,只要有一个不符合规则即可触发报警。 |
|
|
表大小,动态阈值 |
开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 |
|
|
表结构 |
表结构变更 - 任意变更 |
检测表结构是否发生任意变化,包括字段删除、字段新增、字段顺序变更和字段类型变更。检测到任意一种变化即触发告警。 说明
表结构变更类模板的基准表结构为同一规则最近一次采集到的有效表结构。首次检测时没有历史表结构,系统以本次采集的表结构作为基准,校验结果为通过。使用Spec配置此类规则的方法,请参见表结构变更检测规则。 |
|
表结构变更 - 字段删除 |
检测是否有字段被删除,即基准表结构中存在、本次采集的表结构中不存在的字段。 |
|
|
表结构变更 - 字段新增 |
检测是否新增了字段,即本次采集的表结构中存在、基准表结构中不存在的字段。 |
|
|
表结构变更 - 字段顺序变更 |
检测两次采集中都存在的字段之间,相对顺序是否发生变化。因字段新增或删除导致的位置变化不计入。 |
|
|
表结构变更 - 字段类型变更 |
检测同一字段的数据类型是否发生变化。 |
|
|
空值行数 |
空值个数,固定值 |
取该字段的空值数与固定值进行比较。 说明
是否为空值,是通过转换为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值,与上一周期进行比较,计算出波动率后,再与阈值进行比较,只要有一个不符合规则即可触发报警。 |
|
|
字段汇总值,自定义范围 |
自定义设置字段汇总值的对比方式和比较阈值范围。 |
|
|
枚举值 |
枚举值不匹配唯一值个数,固定值 |
取不匹配的枚举项唯一值个数进行比较。 |
|
枚举值不匹配行数,固定值 |
该字段具体出现枚举项不匹配的行数,可与一个指定的固定值比较。 |
|
|
枚举值不匹配行数为0 |
期望的正常状态:固定值和比较方式被设置为=0,只要有枚举项不匹配的行数 > 0 就会报警。 |
|
|
枚举值,自定义,固定值 |
自定义设置枚举项相关的个数、行数、比较方式、阈值等统计指标。 |
|
|
离散值 |
离散值(状态值),固定值 |
group by之后的分组,每组count数,与固定值进行比较。 |
|
离散值(分组个数),固定值 |
group by之后的分组数,与固定值进行比较。 |
|
|
离散值(分组个数),动态阈值 |
开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 |
|
|
离散值(状态值),动态阈值 |
开启智能动态阈值后,无需手动配置波动阈值或期望值,系统会根据智能算法,自动判断合理阈值。若发现数据异常,会即时触发告警或阻塞。 |
|
|
离散值(分组个数),1天波动率 |
group by之后的分组数,与1天前样本进行比较,计算波动率。 |
|
|
离散值(分组个数及状态值),1、7、30天波动率 |
group by之后的分组数和分组后每组count数,与1天前的样本、7天前的样本、30天前的样本(离散值)进行比较,计算波动率。 |
EMR表不支持配置表大小类校验规则。
计算说明
计算波动率:波动率的计算公式为 (当前值 - 基准值) / 基准值。其中,当前值是本次校验的实际指标值,基准值则根据您选择的模板动态确定。例如:
-
对于N天波动率模板,“基准值”是N天前同规则的指标值。
-
对于N天平均值波动率模板,“基准值”是过去N天指标值的算术平均。
-
对于上周期波动率模板,“基准值”是上一个调度周期的指标值。
校检逻辑
数据质量支持与固定值比较、波动值比较和动态阈值三种校检方式。
|
校检方式 |
校检逻辑 |
|
与固定值比较 |
根据校验的表达式进行计算,返回布尔值。支持以下比较操作符: |
|
波动值比较 |
此方式用于监控指标的变化幅度,支持三种比较类型:
系统会根据您设置的“橙色阈值”和“红色阈值”来判断告警级别。 |
|
动态阈值 |
您无需手动设置阈值,系统会自动根据算法模型实时检测指标的正确性。如果超出合理的波动范围,便进行报警。 |
附录一:上一周期口径说明
上一周期任务可以通过排除掉相同业务日期的校验,按业务日期倒序排列,若业务日期相同,则再按运行时间进行倒序排列,取第一个执行的任务作为基准,详情请参见下表:
|
调度类型 |
业务日期 |
基准对比方式 |
常见问题 |
|
正常日调度场景 |
历史业务日期:
|
当业务日期为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日波动率的对比。 |