如何使用JAVA API从Kafka获取每个主题的消息no消息

时间:2016-08-06 00:57:43

标签: java api apache-kafka producer-consumer kafka-consumer-api

我想知道如何通过java api获取kafka中每个主题的消息数量,我不知道想要使用以下帖子中提到的命令行工具。知道怎么做吗?

PS:我不想循环通过KAFKA消费者流来计算计数,我试图在开始时计算这个数(在从Kafka消费之前)

Java, How to get number of messages in a topic in apache kafka

1 个答案:

答案 0 :(得分:3)

使用新的KafkaConsumer,您可以使用seekToBeginning(...)seekToEnd(...)计算每个分区的最大和最小偏移量的差异,并总结这些数字。

如果您寻求,则不会消费消息。请记住,该搜索是懒惰的,即您需要使用position(...)来实际触发搜索。由于懒惰,两种寻求方法都不会返回任何东西。但是,position(...)会给出您可以用于计算的偏移量。

请参阅http://kafka.apache.org/0100/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html