数据质量是数据分析结论有效性和准确性的基础。
1 数据质量的评估
完整性
数据记录和信息的完整性,如记录是否缺失(表行数异常)和字段缺失(空值)等。
准确性
数据与实际的符合程度,如UV、PV不能小于0
一致性
不同业务流程和节点间数据一致性,如浙江和ZJ具有相同的数据语义。
及时性
数据在有效期内及时产出。
2 数据质量管理流程
- 分析业务场景,对数据流转链路上的整个依赖关系进行资产定级。
- 在数据生成过程中进行卡点校验
- 对数据风险点进行监控,包括质量风险和及时性
3 数据资产定级
可以根据数据质量对完整性、准确性、一致性和及时性的影响程度进行划分。
- 毁灭性质:一旦出错,将引起重大资产损失,标记为A1。
- 全局性质:企业级影响,标记为A2。
- 局部性质:业务级影响,标记为A3。
- 未知性质:无法确定影响,标记为Ax。
需要整理在数据流转链路上消费各个表的应用业务,为每个应用业务(链路)定级。如统计并展现网站PV和UV影响整个企业的决策,则可以标记为A2-PV_UV_Region。
4 离线数据加工卡点
指在业务系统数据生成过程中进行卡点校验。
(1) 代码提交
提交代码时,手动或自动扫描SQL,确保逻辑正确。
- 代码规范,如命名、生命周期和注释等
- 代码质量,如除零提醒,NULL值和乱序插入等
- 代码性能,如分区裁剪失效,大表扫描、重复计算等
(2) 任务发布
为保证线上数据准确性,需要经过测试才能在线上环境中发布。
测试包括代码审查和回归测试。
回归测试需要充分模拟真实环境进行测试,运行业务流程,观察是否存在报错。
(3) 人员通告
进行更新操作前,需要通知下游变更原因、变更逻辑和变更时间等信息。无异议后在按照约定时间执行发布变更。
5 数据质量风险监控
数据质量监控与数据资产等级对应,可以根据以下因素细化监控:
- 监控分类:数据量、主键、离散值、汇总值、业务规则和逻辑规则。
- 监控粒度:字段级别、表级别
- 监控层次:ODS、CDM和ADS三层数据,其中ODS和DWD偏重数据完整性和一致性,DWS和ADS数据量小、逻辑复杂,偏重数据的准确性。
6 数据及时性监控
首先需要确定调度任务的优先级,数据资产等级越高,优先级越高,及时性监控越严格。
影响数据及时性的原因和解决办法:
计算资源不足
扩容资源或者优先核心计算任务
代码执行效率低
分级错峰,延迟低优先级任务
缺少问题紧急预案,运维人员无法应对
任务正式运行 前进行充分测试