我正在与Kafka Consumer合作,并且仅订阅一个主题。我想从每个消费者的话题只返回指定的分区。我运行在同一组的消费者的四个实例,并读取一个话题8个分区。
我知道可以使用分配()方法,但看起来该返回主题名称和分区的格式 - (即topic1-0,topic1-1等)。是否有一种更好的方法来仅获取分区而不必解析从assignment()方法返回的值?
答案 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()));