查看原文
其他

关于数据质量的一些想法

The following article is from 木东居士 Author Z

热文回顾:中国医院需要什么样的数据中台?

0x00 前言

最近不少朋友都咨询过关于数据质量的问题,群里面也有很多相关的话题讨论。正巧,一位群友(Z)昨天发给我了一些他关于数据质量的思考,在此分享给大家。

关于数据质量,也可以参考之前分享的文章:

如下,是Z的分享。

0x01 关于数据质量监控

本人是一名在上海工作的数据仓库工程师。其他工作单位什么的,就不透露了啊。这也是我第一次写文章。那第一次,也不写很多详细的技术吧。主要还是聊一聊数据仓库要学一些什么东西吧。

之前很多人都在催我,让我写一些关于数据质量管理的东西,今天就稍微整理一点吧(仅为个人意见,不喜勿喷。欢迎指点交流。)

个人认为呢,数据质量管理(DQC)分为以下几点:

  • 表级别的监控
  • 字段级别的监控
  • 全链路的监控

0x02 表级别的监控

可以用同环比之类的进行校验,根据实际业务情况设定告警阈值:

比方说一些公司,工作日的订单和流量就是一般,而到了双休日就会猛增,此时如果仅仅用单纯的固定阈值来进行监控,(如:大于50%)。

那对于事实表和数据集市的表(比如用户画像)其实是不妥的,会产生很多“理论上”的告警,而从业务角度,是没有问题的。

所以,在一些类似于维度表,或者缓慢渐变维的表,可以使用固定阈值进行监控。而其余的业务表,是不妥的(可以采用数据分析,回归模型等方式,进行预测,设定阈值)。

0x03 字段级别的监控

枚举值的校验

比如有一张订单表,有一个订单状态字段,叫做order_status:下单状态是10,准备付款是20,扣款成功是30,扣款失败是40,已发货是50,什么的一大堆。但是某一天,生产上多了一个退货的状态,是60,但是从ETL的角度,这是无感知的。但很可能下游表在计算时,并未把这个新增的状态60计算在内,导致下游的指标出错。所以要进行及时监控。

特殊值判断

脏数据,或者上游本来手机号是明文,现在MD5加密了,要有感知。

范围判断

一般订单金额超级大,类似这种情况

0x04 全链路的数据监控

ETL任务及时排查

就是在ETL过程中,哪一个任务报错,报错的问题是什么,要把日志取出来。这个ETL如果没有执行完,结果出不来,下游有哪些任务是会受到影响。同时,可以通过电话等形式,通知到负责人或者值班人员,进行ETL脚本排查,任务重跑等。

VIP任务保证

就是一些老板会看的日报,周报,月报。还有各个部门每天有会看的汇总指标,用户画像。要重点进行排查,保证在每天上班前,数据完整,正确地提供。

0xFF 总结

数据质量监控是一个很大的工程,而且也很难有完全通用的方案,不过有很多经验是可以参考和学习的。特别是阿里和美团这些大厂对外都有一些关于数据质量解决方案的平台或者文章,大家可以自行查找学习。如:


【推荐阅读】


最新!Cloudera 全球发行版正式集成 Apache Flink
不是中台不行,是你家的中台不行
为什么12306时不时要崩那么一下?
数据同步之道(加薪系列)
基于Flink SQL构建实时数据仓库
菜鸟数据中台技术演进之路
漫画:“新型冠状病毒” 是什么鬼?





数仓社区

如有收获,请划至底部,点击“在看”,谢谢!


资源下载

关注公众号:数据仓库与Python大数据 回复关键字获取哦

06,数仓经典书籍

07,  python基础入门

中台,中台 PPT

体系,OneData体系PPT

实时数仓FFA 实时数仓视频回顾

Kettle,Kettle视频

Kylin,Kylin视频

Flink,Flink资料

Python,零基础学Python教程视频


加群添加iom1128 备注:数据,拉你入群

升职加薪

学习小密圈,限50人圈子

数仓社区

长按左侧二维码关注!

你将感受到一个放飞自我的灵魂

且每篇文章都有惊喜


【感谢大家,希望一起走的更远】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存