【发布时间】:2023-03-31 16:35:01
【问题描述】:
我正在用 Java 编写一个简单的 Kafka 生产者-消费者程序,我在其中生成了如下数据:
-
键:“a” 值:“{25,223,465}”
-
键:“a” 值:“{26,323,56}”
-
键:“a” 值:“{62,256,652}”
-
键:“a” 值:“{26,227,42}”
-
键:“b” 值:“{4352,234,65342}”
-
键:“b” 值:“{243,22347,434}”
我可以使用 consumer.poll(10000) 来消费消息,但现在我想消费数据,比如 Kafka 主题中有多少 a 记录和多少 b 记录。
如果我将此与 SQL 联系起来
select count(*) from 'mytopic' where key='a'
select count(*) from 'mytopic' where key='b'
如果可能,请提供java代码
【问题讨论】:
-
听起来你可能对使用 ksqlDB 感兴趣
-
@OneCricketeer 是的,也许吧,但不知道如何在 Java 代码中使用它。你能提供一些来源吗
-
我相信您能够在其网站上查找和搜索 ksqlDB 示例... KsqlDB 使用 sql 语法,但它具有可通过 Java 使用的 REST API。但是,正如所回答的那样,普通的 Kafka 消费者并不意味着以您要求进行聚合的方式使用 - 您需要另一个工具
-
@OneCricketeer Thx
标签: java apache-kafka kafka-consumer-api