【问题标题】:Kafka Consumer get assigned partitions for a specific topicKafka Consumer 获得特定主题的分配分区
【发布时间】:2019-02-02 16:31:37
【问题描述】:

我正在与 Kafka 消费者合作,并且只订阅一个主题。我只想为每个消费者返回主题中分配的分区。我在同一个组中运行四个消费者实例,并读取一个包含 8 个分区的主题。

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

【问题讨论】:

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


    【解决方案1】:

    public Set<TopicPartition> assignment()

    assignment() 将返回TopicPartition 的集合

    public int partition() 。 here

    在TopicPartition 中,您有方法partition(),它给出了主题的分区

    示例

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

    【讨论】:

    • 感谢死侍。这正是我所需要的。
    猜你喜欢
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2016-10-01
    • 1970-01-01
    • 2016-05-28
    • 2022-06-14
    相关资源
    最近更新 更多