【数仓】数据质量保障

以下笔记来自: <阿里大数据之路>

保障数据的哪些方面

  • 完整性
    避免数据的缺失, 比如记录缺失、字段缺失等等, 这是最基础的数据保障之一.

  • 准确性
    记录中的数据是否准确, 有无异常或错误.
    比如年龄为负数、下单时间为公司成立前、等等 在业务上属于错误的信息.

  • 一致性
    比如 ID,对于同一份数据, 需要保证在不同的地方(不同数据层或上下游), 它们的类型和长度必须是一致的。

  • 及时性
    离线数据一般属于T-1天的, 在T日需要进行许多的统计、更新、分析计算,
    否则很多决策、功能(比如推荐)、活动(比如营销推送) 等等都无法及时正常进行,
    不仅仅是离线数据, 如今越来越多的应用对时间的要求 需要小时级别或实时级别了,
    因此及时性也是需要进行保障的重要一环.

保障方法

1. 知晓数据的消费场景、影响、加工链路

首先, 需要根据应用的影响程度, 设置资产等级, 根据数据链路血缘,
了解涉及上游的各个环节, 设置相应的资产等级和处理优先级.

2. 数据链路各个环节的卡点校验

  • 数据链路的任一加工环节发生变更时, 根据资产和变更情况通知下游
  • 在开发、测试、部署、数据初始化或回刷等环节进行数据校验

3. 数据的监控和告警

例行任务的产出数据 进行业务规则的校验和报警, 保证数据质量
例行任务的产出数据 进行时效的监控和报警, 保证数据及时产出和任务通畅

4. 数据质量的衡量

  • 比如事前统计 监控报警的覆盖率等等
  • 事后质量问题的跟进, 记录和分析问题原因, 确定责任人 解决情况, 进行故障复盘和改进
  • 故障的影响程度 故障等级
  • 引入质量分, 综合事前和事后的情况对数据质量打分

5. 配套工具支持

以上所述的功能, 需要有配套工具的支持, 才能保证数据质量和效率.