Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用一些过滤器使用来自卡夫卡主题的消息?_Java_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Java 如何使用一些过滤器使用来自卡夫卡主题的消息?

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联系

我正在用Java编写一个简单的Kafka producer-consumer程序,其中生成了如下数据:

  • 键:“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谢谢