Kafka Consumer为特定主题分配了分区

时间:2019-02-02 16:31:38

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

我正在与Kafka Consumer合作,并且仅订阅一个主题。我想从每个消费者的话题只返回指定的分区。我运行在同一组的消费者的四个实例,并读取一个话题8个分区。

我知道可以使用分配()方法,但看起来该返回主题名称和分区的格式 - (即topic1-0,topic1-1等)。是否有一种更好的方法来仅获取分区而不必解析从assignment()方法返回的值?

1 个答案:

答案 0 :(得分:1)

公共Set<TopicPartition>分配()

assignment()将返回TopicPartition的集合

public int partition()here

TopicPartition中,您可以使用方法partition()来划分主题

示例

Set<TopicPartition> partitions = consumer.assignment();
partitions.forEach(part->System.out.println(part.partition()));