具有多个分区的Kafka主题中的重复偏移

时间:2018-02-02 21:35:07

标签: apache-kafka kafka-consumer-api

我正在使用kafka_2.10-0.10.0.1 zookeeper-3.4.10。我知道有很多类型的补偿。我有两个问题: - 我想知道ConsumerRecord.offset().返回的偏移类型 - 如果我使用用10个分区创建的主题,我可以获得一组具有相同偏移值的记录吗?在我的程序中,我需要获取具有不同偏移值的记录列表。我想知道我是否必须使用单个分区的主题来实现这一目标?

1 个答案:

答案 0 :(得分:1)

  

我想知道ConsumerRecord.offset()返回的偏移类型。

这是记录来自主题分区内记录的偏移量。

  

如果我使用10个分区创建的主题,我可以获得一组具有相同偏移值的记录吗?

是的,您可以在每个分区中寻找该偏移并读取该值。为此,请使用Consumer#assign()为您的消费者分配所需的主题分区,然后使用Consumer#seek()查看您要阅读的偏移量。当您poll()时,消费者将开始从该偏移中读取。

  

我想知道我是否必须使用单个分区的主题才能实现此目标?

您不必这样做。你可以从你想要的任何分区中读取你想要的任何偏移量。