最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

[实践案例] 记一次架构设计的经验--数据质量监控

[复制链接]
跳转到指定楼层
楼主
发表于 2020-1-6 09:22:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在工作中跟同事沟通很重要,有多重要呢,一个月前,领导给分派了一个工作:要做一套针对线上实时数据的质量监控。监控这种工作首先第一点也是最重要的一点要跟生产流程解耦,这个性质也间接的导致了这份工作优先级别无限下降,最后只有我一个人搞这个项目。
不知道有多少人有过一个人开发整个项目的过程,从零到一,从无到有,时间比较急,来不及用一些比较成熟但是复杂的开源框架,这种情况下只能针对需求敲代码开发。之前没有搞过监控类的项目,只能从网上找案例,找相关的文章,看看前辈们是怎么思考的怎么开发的。
当时浏览了一整个晚上网站,总结出要实现这个功能至少需要三步:1.数据收集;2.规则引擎;3.数据展示及报警
从功能上讲整个系统分为三类之后,就要开始设计你的表结构和文档了,这个过程就是我之前写的一篇架构那些事中的抽象过程了。抽象这个事情很有意思,我们不妨先一步一步把各方以及需求都写到一张纸上,发现他们的相同点与不同点。

图1 数据的具体层级
上图是我根据数据性质以及业务方需求把每一个变量作为一个单元,由数据来源将每一个变量级的数据传过来,然后由我方存储。所以三张表油然而出,数据来源表,数据集表,变量表,具体每一个变量是我们应该对监控的对象,所以接下来的规则引擎类的表就要针对每一个变量做文章了。
常见的数据质量规则是数据偏移,数据偏移就是我们常见的psi公式了,将一个变量分多份,当然分的种类也不同,一般常见的有等宽和等频。然后根据公式:
psi = sum((实际占比-预期占比)* ln(实际占比/预期占比))开始计算psi值。计算psi值一般小于0.1属于非常稳定,在0.1与0.25之间属于正常,再大了就需要报警了,同时也可以把每一个分区的预期比例和当前占比做一个比较,可以很好的显示出数据偏移方向,针对情况可以做出针对性的策略,举个简单的现实中的例子:如果一些注册用户的性别年龄区间相较于预期的比较大,这种情况下必须赶紧分析一下当前的推广活动啊等等的。
到现在为止设计工作数据收集模块和规则引擎模块已经有一个大体的印象了。提前剧透我们的数据量非常大,一天的数据有接近一个T的大小,后期我会接着写第二篇,讲一下具体用到的技术框架和数据展示报警模块以及数据存储的设计。
趁着晚上下班的时间,写的这篇文章,如果还算可以记的点个赞哦

本文分享自微信公众号 - java一日一条(mjx_java)


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-23 17:18

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表