数据质量

数据质量是数据分析结论有效性和准确性的基础。

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 数据及时性监控

首先需要确定调度任务的优先级,数据资产等级越高,优先级越高,及时性监控越严格。

影响数据及时性的原因和解决办法:

  • 计算资源不足

    扩容资源或者优先核心计算任务

  • 代码执行效率低

    分级错峰,延迟低优先级任务

  • 缺少问题紧急预案,运维人员无法应对

    任务正式运行 前进行充分测试

参考资料

数据质量教程概述