一、数据质量概述

聊数据质量之前,我先问个问题:你每天处理的数据,真的「干净」吗?

我见过太多团队,花了大半年搭好流批一体平台,结果上线第一天,报表数据对不上。业务方跑来质问,技术团队只能挠头。说白了,数据质量不过关,再牛的架构也是空中楼阁。

1.1 什么是数据质量

数据质量,就是数据满足使用要求的程度。听起来很抽象?我换个说法:

你拿到的数据,能不能直接用来做决策、跑模型、出报表?如果能,质量就好;如果不能,质量就差。

核心观点:数据质量不是「有没有数据」,而是「数据能不能用」。在流批一体场景下,这个「能用」的标准会更高——因为实时流和离线批的数据要能对得上。

我记得有一次帮客户做数据治理评估,他们每天处理 5 亿条实时数据,但业务方只敢用 T+1 的离线报表。为什么?因为实时数据质量没人敢担保。这就是典型的「有数据,不敢用」。

1.2 数据质量为什么重要

你想想看,数据质量出问题,后果是什么?

  • 决策错误:报表数据差 1%,可能让业务方向跑偏
  • 成本浪费:数据清洗、重跑、排查,全是人力和计算资源
  • 信任崩塌:业务方一旦不信数据,就会回到「拍脑袋」决策
  • 合规风险:金融、医疗等行业,数据不准可能直接吃罚单

我经历过一个真实案例:某电商大促期间,实时 GMV 大屏突然跳了 20%。运营团队以为是爆款来了,紧急追加广告预算。结果呢?是实时数据管道里一条字段映射错了。最后多花了 300 万广告费,换来一堆无效流量。

避坑指南:我曾经以为数据质量只是「脏数据清洗」的问题。后来发现,在流批一体架构里,数据质量的核心是「流和批的数据能对得上」。这个坑,很多团队踩了才知道疼。

1.3 数据质量的六大维度

数据质量不是笼统的概念,它有六个可衡量的维度。我习惯把这六个维度比作「数据健康的体检指标」——缺一个都不行。

维度 定义 流批一体中的典型问题
完整性 数据是否缺失、字段是否为空 实时流丢了一条记录,离线批处理时才发现
准确性 数据是否真实、数值是否正确 实时计算中浮点数精度丢失,导致汇总对不上
一致性 不同系统间的数据是否矛盾 实时层和离线层对同一笔订单的状态定义不同
及时性 数据是否在预期时间内到达 实时流延迟超过 5 分钟,业务方认为数据已失效
唯一性 数据是否有重复、主键是否唯一 实时去重逻辑不完善,离线批处理时发现重复记录
有效性 数据是否符合业务规则和格式 实时流中手机号字段混入了字母,离线清洗才发现

这六个维度不是孤立的。我举个例子:实时流中一条订单数据,如果时间戳格式错了(有效性),会导致它无法被正确排序(及时性),进而影响当天汇总的准确性(准确性)。你看,一个维度出问题,可能连锁反应。

我的经验:在流批一体项目中,我建议优先关注「一致性」和「及时性」。为什么?因为流批一体的核心价值就是「实时+离线统一」,如果这两点做不好,流批一体就失去了意义。

1.4 六大维度在流批一体中的关系

光讲概念不够,我画了一张图,帮你理清这六个维度在流批一体架构里的位置和关系。

数据质量六大维度 · 流批一体关系图 数据质量 完整性 准确性 一致性 及时性 唯一性 有效性 流批一体中的关键关系 • 实时流和离线批必须对「一致性」达成共识 • 「及时性」是实时流的生命线,离线批可以容忍延迟 • 「完整性」和「唯一性」在流批两端需要分别校验 • 「准确性」和「有效性」依赖上游数据源的规范程度

从这张图你能看到,六个维度不是平铺直叙的。在流批一体架构里,一致性和及时性是承上启下的关键节点。我个人的做法是:先搞定这两个维度,再逐步完善其他四个。

1.5 小结

这一章我们聊了数据质量是什么、为什么重要,以及六个维度的具体含义。说白了,数据质量就是「数据能不能用」的问题。在流批一体场景下,这个问题会更复杂——因为你要同时保证实时流和离线批的数据都靠谱。

嗯,这里我要强调一点:六个维度不是一次性就能全部搞定的。我建议你从「一致性」和「及时性」入手,先把流批对账的逻辑跑通,再逐步补齐其他维度的校验。后面的章节,我会详细讲每个维度在流批一体中的具体落地方法。