一、数据质量关注点
一致性:值数内容在系统内,系统间是否保持一致。如指标是否同名同义,存储,精确度,加工逻辑等是否一致。
完整性:指数据的完整,完备性与及时性,是否存在数据遗漏,缺失及补充等。每日提供的数据应该是完整的,无论在量上还是在特定的数据上,高质量的数据是通过完整的数据统计出来的。
可靠性:指数据的稳定性和准确性等,数据提供过程中,数据产生依赖于系统间的性能,生产数据和加工数据的过程,都会影响数据的可靠性。
准确性:数据域源头的精确性,以及数据处理过程中是否存在算法和数据冲突等。数据的准确性可能存在于个别记录,也可能存在于整个数据集,只有准确更高的数据才能提供高效、高优的决策。
可理解性:数据的可读性和可分析性,是否满足业务需求,以及数据间是否存在相互关系,用户拿到数据是可理解,可用,可决策的。
有效性:指数据是否有效可用,以及数据数据的访问域安全性等。数据安全是数据质量的一项重点管理方面,数据安全对于数据人来说是一条不可触摸的红线。
二、数据质量评估维度
数据完整性:考量数据项信息是否全面、完整、无缺失。考核指标表完整性和字段完整性。
监控覆盖率:确保数据遵循统一的数据标准或规范要求,考核指标:监控覆盖率,监控覆盖率=监控的高价值任务个数/高价值任务总个数。其中统计的范围只涉及有价值的任务。
任务准确性:考量数据是否符合预设的质量要求,如唯一性约束、记录量校验等,考核指标:任务监控告警率,监控任务告警率=告警任务个数(本周)/监控任务总个数。注:这里的告警任务,都是数据质量监控任务。
告警响应度:通过日常管理、应急响应,降低或消除问题影响,避免数据损毁、丢失。指标公式:统一的时间中期内,已处理告警个数/告警总个数。
任务性能:考量任务的执行效率和健康度,诊断任务是否倾斜等性能问题。指标公式:问题任务个数(统计周期内)/任务总个数。
任务稳定性:考量任务的运行稳定性,是否经常报错,导致数据事故。指标公式:失败任务个数(统计周期内)/总任务总个数。
任务时效性:考量数据项信息可被获取和使用的时间是否满足预期要求,考核指标。任务延迟率,任务延迟率=延迟的高价值任务个数(统计周期内)/高价值任务总个数,其中,基准时间为任务近30天平均完成时间加30分钟,任务晚于基准即延迟。
三、数据质量校验方法
(一)完整性
1、可以从数据量上进行校验。一般情况下,成熟的业务场景,每日生成的数据基本恒定,如果莫一天数据地域日常数据的波动阈值,可以预测数据基本是不完整的。
2、完整性的另一部分是字段的数据缺失,可以通过统计字段的空值率进行校验。比如默写字段在表中理论上是必然存在的,数据中如果出现了空值,则说明该字段的数据缺失。
(二)准确性
1、常见的数量级的记录错误,这种错误很容易发现,通过对比表数据量级的波动,判断当日的数据是否准确。
2、可以通过异常值进行判断。表中字段字符,或者数值出现了非法情况,可以判断数据不准确。
3、准确性也可以通过数据类型,以及数据的长度进行校验。
4、对于数据也可以通过数据的分部情况进行验证。字符乱码的问题或者字符被截断的问题,可以使用分布来发现这类问题,一般的数据记录基本符合正态分布或者类正态分布,那么那些占比异常小的数据项很可能存在问题,比如某个字符记录占总体的占比只有0.1%,而其他的占比都在3%以上,那么很有可能这个字符记录有异常。
(三)一致性:
1、如果数据记录格式有标准的编码规则,那么对数据记录的一致性检验比较简单,只要验证所有的记录是否满足这个编码规则就可以。比如身份证号都是18位,前面17位均是数字等。
2、对于可数的枚举,可以通过映射校验。比如省份等,可以把这些唯一值映射到有效的32个省市的列表,如果无法映射,那么字段通不过一致性检验。如“浙江”而不是“浙江省”。
3、一致性中逻辑规则的验证相对比较复杂,指标的统计逻辑的一致性需要底层数据质量的保证,同时也要有非常规范和标准的统计逻辑的定义,所有指标的计算规则必须保证一致。常见的问题就是汇总数据和细分数据加起来的结果对不上。如果需要审核这些数据逻辑的一致性,我们可以建立一些“有效性规则”,比如A>=B,如果C=B/A,那么C的值应该在[0,1]的范围内等,数据无法满足这些规则时,就无法通过一致性检验。
四、常见可配置的监控规则
表级非空记录:历史全量表(无分区):表里没有记录条数时告警;分区表:分区等于T-1时,无数据记录条数告警。
表环比监控:根据历史周期计算数据量波动的范围,设置上下阈值,环比超出阈值,进行告警。
目标表原表校验:如果目标表的数据量同原表的数据量对比,超出环比的上下阈值,进行告警。
表主键唯一:如果统计出的主键的记录条数和表的记录条数不一致,进行告警。
非空校验:表中有些字段不会出现空值的况,对该字段惊醒空值监控,如果出现空值,进行告警。
字符长度:如果数据中数据的长度超过预定长度的上下阈值进行告警
枚举值校验:如果数据中出现枚举范围外的数据,进行告警,此种情况适用于枚举值量小的情况。
字段环比监控:如果表中某字段的值域超出波动范围的上下阈值,进行告警,比如增长率,交易额等。
数据类型校验:如果数字型字段,数据中出现字符,进行告警。
字段数字极值监控:如果字段的数值超过该数据设置的上下的极值,进行告警。
字段字符非法校验:如果字段的数据中出现了非法字符,进行告警。
字段空置占比告警:如果字段中的空置率查出设定的上下阈值,进行告警。
产出时间监控:基于任务链路设置任务的SLA,任务超如设定时间未完成,进行告警。
免责声明:本网站所发布的文章为本网站原创,或者是在网络搜索到的优秀文章进行的编辑整理,文章版权归原作者所有,仅供读者朋友们学习、参考。对于分享的非原创文章,有些因为无法找到真正来源,如果标错来源或者对于文章中所使用的图片、链接等所包含但不限于软件、资料等,如有侵权,请直接致电联系,说明具体的文章,后台会尽快删除。给您带来的不便,深表歉意。