一、前言
随着大数据时代的到来,越来越多的行业开始注重数据,并且使用数据为业务赋能,数据质量是数据仓库和数据挖掘的基础,也是数据驱动业务的前提,同时数据质量是数据治理建设的重要一环,与元数据管理,数据标准化及数据服务管理等共同构建了数据治理的体系框架,建设一个完整的质量监控平台,需要从监控、标注、流程制度等方面提升信息管理能力,优先解决所面临的数据质量和数据服务问题。
二、数据质量评估标准
1、完整性
完整性是指数据的记录和信息是否完整,是否存在缺失的情况。
数据的缺失主要包括库表变更时没有及时同步所造层:记录中某个字段信息的缺失,造成统计结果不准确,所以说完整性是数据质量最基础的保障。
2、准确性
准确性是指数据中记录的信息和数据是否准确,是否存在异常或者错误的信息。
直观来讲就是看数据是否上准确的。一般准确性的监控多集中在对业务结果数据的监控,比如每日的活跃、收入等数据是否正常。
3、一致性
一致性是指同一指标在不同地方的结果是否一致,是否存在较波动。
数据不一致的情况,多出现在数据系统达到一定的复杂度后,同一指标会在多处进行计算,由于计算口径或者开发人员的不同,容易造成同一指标出现的不同的结果。
4、及时性
在确保数据的完整性、准确性和一致性后,接下来就要保障数据能够及时产出,这样才能体现数据的价值。
及时性很容易理解,主要就是数据计算出来的速度是否够快,这点在数据质量监控中可以体现在监控结果数据数据是否在指定时间点前计算完成。
三、数据监控包括哪些
数据监控主要包括:性能监控、日常监控、数据对账,其中性能监控主要指:数据的读写,资源队列使用、节点消耗等运维层面的监控,本次主要讨论日常监控、数据对账,
可以从以下几点思考
:
- 监控数据资产质量状态(同步表数据是否一致),为优化数据平台和数仓性能、合理配置数据存储资源提供决策支持;
- 实现推动数据质量监控预警(提前告知),不仅包括离线,目前在建设的实时也需要提前布局,做到监控预知;
- 规范问题故障跟踪、Review、后续改进的优化方案,需有计划执行;
- 由技术检测到业务监督,形成闭环工作流机制,提高整体数据质量,全面提升服务业务水平;
四、技术方案
对于培优目前的3600多张表,1.5w 个任务,一些业务持续不断变化,我们需要关注哪些点,保障上层业务的稳定性:
- 从业务入手,从中提炼中间层,所使用到哪些表,进行归纳总结,其主要目的:把核心表抽象抽象出来,重点对这些表数据进行监控,核心的业务,比如:选址、渠道、校区等指标所使用到的中间表,尽量做到电话报警,及时反馈,及时处理。
- 从底层数据展开,因为这一层数据是底层,是重中之重,上层所有的业务,画像,洞察等业务数据都依赖,稍微一个字段变更,都可能会引发故障,所以这一层需监控表、字段的变更。
- 任务的监控, airflow每天晚上从凌晨开始调度,抽取数据,大批量的数据都开始同步,所以对于核心表进行拆分:做增量同步,减少全量同步的压力。
- 最后伙伴每周的值周,值周生需重点关注:
1.1. 知音楼群中报警
1.2. 赋能群里面反馈问题
1.3. 增加核心表报警数据波动变化
五、困难点
- 告警信息太多了,太容易被忽略怎么办?
思路:提高告警的准确率,避免无用告警:
a: 加入反馈机制,如果告警是正常的,就打上正常的tag,后续告警规则根据反馈进行优化;
b: 在报警时,对核心业务报警加上特殊字体标示; - 对于指标准确性的思考,通常数据的链路比较长,最终的指标计算完,中间需要经过好几步,怎么保证每个环节都是正确的,且最终结果是正确的?
思路:可以对每个环节加监控,从数据量来对比查看(方案1)
a: 每一层代码有 Code Review,保证代码逻辑正常
数据质量监控是一个不断迭代优化的过程,目前我们也是在探索阶段,希望和大家交流和学习,一起做好对数据监控,持续为业务赋能。
end
作者简介
习沛为好未来数据仓库专家
招聘信息
好未来技术团队正在热招前端、算法、后端等各个方向高级开发工程师岗位,大家可扫描下方二维码或微信搜索“好未来技术”公众号,点击“技术招聘”栏目了解详情,欢迎感兴趣的伙伴加入我们!
也许你还想看
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。