Grab 为其平台新增实时数据质量监控功能

Source: InfoQ - Big Data

总部位于新加坡的数字服务平台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此次平台升级也是更广泛行业趋势的一部分,即为数据管道增加可观测性。这一领域正吸引众多初创公司投入,并推动学术界对实时数据质量指标的研究。

原文链接:

Grab Adds Real-Time Data Quality Monitoring to Its Platform