首页 > 解决方案 > 卡夫卡消息聚合

问题描述

我在 Kafka 主题中有消息,压缩如下

1::3$
2::4$

稍后,一些更多的值被添加到相同的键

1::64$
2::145$

我希望从上述消息中实现的愿望来自以下主题

1::3$,64$
2::4$,145$

任何建议如何将值组合到主题中的相同键

标签: apache-kafkakafka-consumer-apitombstone

解决方案


您可以使用 kafka 流来做到这一点:

拓扑:

1. 源处理器:将输入主题读取为 KStream

2. 处理器 1: GroupbyKey() -> 产生 KGroupedTable,pre req. 聚合

3. 处理器 2: Aggregate() -> 生成一个 KTable,其中包含您需要的组合值。您可以将 KTable 物化为压缩主题。然后,您可以使用 kafka 消费者或交互式查询来阅读它。


推荐阅读