
总部位于新加坡的数字服务平台 Grab 在其内部平台Coban中新增了数据质量监控的能力,以提升 Apache Kafka 向下游消费者交付的数据质量。该公司在工程博客中详细描述了这一改进。团队指出,“过去,Kafka 流数据处理的监控缺乏有效的数据质量验证方案。这一局限性使得识别坏数据、及时通知用户,以及防止对下游用户造成级联影响变得十分困难。”
Grab 遇到的数据错误主要分为两类,即语法错误(syntactic)和语义错误(semantic)。语法错误源于消息结构问题,例如,生产者可能向一个在 Schema 中定义为整型(int)的字段发送字符串值,导致消费端应用因反序列化失败而崩溃。语义错误则出现在消息中的数据值虽结构合法,但不符合业务规则或超出合理范围。例如,user_id 字段可能是一个有效的字符串(语法正确),但如果其格式不符合公司统一规定的“usr-{8 位数字}”模式,则构成语义违规。
为解决上述问题,Grab 工程团队设计了一套新架构,支持数据契约定义、自动化测试和数据质量告警。该系统的核心是一个测试配置与转换引擎。
该引擎接收 Kafka 主题的数据 Schema、元数据和测试规则作为输入,自动生成一组基于 FlinkSQL 的测试定义。随后,一个 Flink job 执行这些测试,从生产环境的 Kafka 主题中消费消息,并将发现的错误转发至 Grab 的可观测性平台。团队选择 FlinkSQL,是因为它能将流数据表示为动态表,从而自动为可高效实现的规则生成数据过滤器。
为简化定义数百条字段级规则这一可能极其繁重的任务,平台引入了 LLM(大语言模型)。该模型通过分析 Kafka 流的 Schema 和脱敏后的样本数据,智能推荐潜在的语义测试规则。这一功能大幅加速了初始配置过程,并帮助用户发现那些非显而易见的数据质量约束。
该系统于今年早些时候上线,目前已对 100 多个关键 Kafka 主题实施主动数据质量监控。团队报告称:“该方案能够立即识别并阻断无效数据在多条流中的传播……显著加快问题诊断与修复速度,使用户能迅速应对生产环境中的数据挑战。”
这一做法契合行业最佳实践,尽管目前仍属罕见。根据 Confluent 最新发布的2025数据流报告(2025 Data Streaming Report),估计仅有约 1%的企业达到了最高成熟度阶段,即“数据流作为战略赋能手段,且流被当作产品进行管理”。通过实施基于契约的主动式数据质量监控,Grab 正将其数据流视为面向内部用户的一种可靠产品。
Grab 此次平台升级也是更广泛行业趋势的一部分,即为数据管道增加可观测性。这一领域正吸引众多初创公司投入,并推动学术界对实时数据质量指标的研究。
原文链接:







评论