当前位置:网站首页>【数仓】数据质量监控
【数仓】数据质量监控
2022-08-03 16:52:00 【和风与影】
今天来填 2 个月前的坑。之前提到了数据质量:
我在面试中也碰到了数据质量的问题,没回答出来。今天学习一下数据质量监控原则。欢迎点击此处关注公众号。
1.数据质量概述
数据质量的高低代表了该数据满足数据消费者期望的程度,这种程度基于他们对数据的使用预期,只有达到数据的使用预期才能给予管理层正确的决策参考。数据质量管理作为数据仓库的一个重要模块,主要可以分为数据的健康标准量化、监控和保障。
2.数据质量标准分类
- 数据完整性:数据不存在大量的缺失值、不缺少某一日期/部门/地点等部分维度的数据,同时在 ETL 过程当中应保证数据的完整不丢失。验证数据时总数应符合正常规律时间推移,记录数总数的增长符合正常的趋势。
- 数据一致性:数仓各层的数据,应与上一层保持数据一致,最终经过数据清洗转化(ETL)的宽表/指标能和数据源保持一致。
3.数据质量校验
3.1 单表数据量监控
一张表的记录数在一个已知的范围内,或者上下浮动不会超过某个阈值。
- 方法:select count(*)from 表 where 时间等过滤条件。
- 报警触发条件设置:如果数据量不在 [数值下限, 数值上限], 则触发报警。
- 同比增加:如果 ((本周的数据量 - 上周的数据量) / 上周的数据量 * 100) 不在 [比例下线,比例上限],则触发报警。
- 环比增加:如果 ((今天的数据量 - 昨天的数据量) / 昨天的数据量 * 100) 不在 [比例下线,比例上限],则触发报警。
- 报警触发条件设置一定要有。如果没有配置的阈值,不能做监控。
监控的指标:日活、周活、月活、留存(日周月)、转化率(日、周、月)、GMV(日、周、月)。
例如:平常复购率(日周月)大约 30%,某天检测发现只有 20%。
3.2 单表空值检测
某个字段为空的记录数在一个范围内,或者占总量的百分比在某个阈值范围内。
- 目标字段:选择要监控的字段。
- 方法:select count(*) from 表 where 目标字段 is null。
- 单次检测:如果(异常数据量)不在 [数值下限, 数值上限],则触发报警。
3.3 单表重复值检测
一个或多个字段没有重复记录。
- 目标字段:选择要监控的字段。
- 第一步先正常统计条数;select count(*) form 表;
- 第二步,去重统计;select count(*) from 表 group by 目标字段;
- 第一步的值和第二步的值做减法,看是否在上下线阀值之内;
- 单次检测:如果(异常数据量)不在 [数值下限, 数值上限], 则触发报警。
3.4 单表值域检测
一个或多个字段是否满足某些规则。
- 目标字段:选择要监控的字段,支持多选。
- 检测规则:填写“目标字段”要满足的条件。
- 阈值配置与“空值检测”相同。
3.5 跨表数据量对比
主要针对同步流程,监控两张表的数据量是否一致
- 方法:count(本表) - count(关联表)
- 阈值配置与“空值检测”相同。
边栏推荐
- C专家编程 第1章 C:穿越时空的迷雾 1.8 ANSI C标准的结构
- 【带你了解SDN和网络虚拟化】
- How to write SQL statements in DataWorks monitoring data reaches a certain value to indicate the change of
- 被误解的 MVC 和被神化的 MVVM(二)
- 【GAMES101】作业6 加速结构
- C专家编程 第2章 这不是Bug,而是语言特性 2.3 误做之过
- 中小微企业如何简单便捷、低成本实现数字化?360视觉云有妙招
- 设置海思芯片MMZ内存、OS内存详解
- 大型企业数据治理的现状和解决方案有哪些参考?_光点科技
- leetcode:187. 重复的DNA序列
猜你喜欢

fastposter v2.9.0 程序员必备海报生成器

Components of communication - the drop-down menu

高效的组织信息共享知识库是一种宝贵的资源

【目标检测】Focal Loss for Dense Object Detection

C语言02、语句、函数

protobuf 反射使用总结

EasyExcel实现动态列解析和存表

Component communication - parent-child component communication

EasyExcel implements dynamic column parsing and table storage

“68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?
随机推荐
JS中对象数组用sort按属性排序
C专家编程 第3章 分析C语言的声明 3.7 typedef struct foo{... foo;}的含义
sphinx coreseek的安装和php下使用
工程仪器设备在线监测管理系统常见问题和注意事项
为何微博又双叒叕崩溃了?
uniapp 去掉默认导航栏
被误解的 MVC 和被神化的 MVVM(一)
B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条
EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成
“LaMDA 存在种族歧视,谷歌的 AI 伦理不过是‘遮羞布’!”
CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统
使用deepstream消息发送功能的时候,检测框没有检测标签,No text labels of bboxes displayed with osd for deepstream-test5
掌握Redis的Sentinel哨兵原理,可助你拿到25k的offer
leetcode:187. 重复的DNA序列
TypeScript文件的编译执行
论文解读(JKnet)《Representation Learning on Graphs with Jumping Knowledge Networks》
The strongest distributed lock tool: Redisson
Adobe是什么?
vant自动上传图片/文件
使用Stream多年,collect还有这些“骚操作”?