Java 如何使用一些过滤器使用来自卡夫卡主题的消息?
我正在用Java编写一个简单的Kafka producer-consumer程序,其中生成了如下数据:Java 如何使用一些过滤器使用来自卡夫卡主题的消息?,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我正在用Java编写一个简单的Kafka producer-consumer程序,其中生成了如下数据: 键:“a”值:{25223465} 键:“a”值:{26323,56} 键:“a”值:{62256652} 键:“a”值:{26227,42} 键:“b”值:{435223465342} 键:“b”值:{24322347434} 我可以使用consumer.poll(10000)来使用消息,但现在我想使用一些数据,比如卡夫卡主题中有多少a记录和多少b记录 如果我把它和SQL联系
- 键:“a”值:{25223465}
- 键:“a”值:{26323,56}
- 键:“a”值:{62256652}
- 键:“a”值:{26227,42}
- 键:“b”值:{435223465342}
- 键:“b”值:{24322347434}
consumer.poll(10000)
来使用消息,但现在我想使用一些数据,比如卡夫卡主题中有多少a
记录和多少b
记录
如果我把它和SQL联系起来
select count(*) from 'mytopic' where key='a'
select count(*) from 'mytopic' where key='b'
如果可能,请提供java代码Kafka不以这种方式工作,使用者只需读取分区中最新提交的偏移量(或从开始)并按顺序读取所有消息。 您可以在应用程序中进行过滤。 出于您的目的,您可以使用基于Kafka Streams API的应用程序来编写应用程序,而不只是使用消费者API编写应用程序,该应用程序为您提供一个DSL,用于执行映射、过滤等操作。。。真的很容易。 更多信息请点击此处:
听起来您可能对使用ksqlDB@OneCricketeer也许是的,但我不知道如何在Java代码中使用它。您能提供一些资源吗?我相信您有能力在其网站上查找和搜索ksqlDB示例。。。KsqlDB使用sql语法,但它有一个可以通过Java使用的RESTAPI。不过,正如回答的那样,一个普通的卡夫卡消费者并不意味着以你要求的方式进行聚合——你需要另一个tool@OneCricketeer谢谢