Python KafkaConsumer 从时间戳开始消费消息
Python KafkaConsumer start consuming messages from a timestamp
我打算跳过主题的开头,只阅读从某个时间戳到结尾的消息。关于如何实现这一目标的任何提示?
我猜你正在使用你提到的 kafka-python
(https://github.com/dpkp/kafka-python) "KafkaConsumer"。
您可以使用 offsets_for_times()
方法来检索与时间戳匹配的偏移量。 https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html#kafka.KafkaConsumer.offsets_for_times
接下来只是使用 seek()
寻找那个偏移量。 https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html#kafka.KafkaConsumer.seek
希望对您有所帮助!
我绕过它,但是我不确定使用该方法获得的值。
我有一个 KafkaConsumer (ck),我使用 assignment() 方法获得了主题的分区。因此,我可以创建一个字典,其中包含我感兴趣的主题和时间戳(在本例中为 100)。
附带问题: 我应该使用 0 以获得所有消息吗?.
我可以使用该词典作为 offsets_for_times() 中的参数。但是,我得到的值都是 None
zz = dict(zip(ck.assignment(), [100]*ck.assignment() ))
z = ck.offsets_for_times(zz)
z.values()
dict_values([None, None, None])
我打算跳过主题的开头,只阅读从某个时间戳到结尾的消息。关于如何实现这一目标的任何提示?
我猜你正在使用你提到的 kafka-python
(https://github.com/dpkp/kafka-python) "KafkaConsumer"。
您可以使用 offsets_for_times()
方法来检索与时间戳匹配的偏移量。 https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html#kafka.KafkaConsumer.offsets_for_times
接下来只是使用 seek()
寻找那个偏移量。 https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html#kafka.KafkaConsumer.seek
希望对您有所帮助!
我绕过它,但是我不确定使用该方法获得的值。 我有一个 KafkaConsumer (ck),我使用 assignment() 方法获得了主题的分区。因此,我可以创建一个字典,其中包含我感兴趣的主题和时间戳(在本例中为 100)。
附带问题: 我应该使用 0 以获得所有消息吗?.
我可以使用该词典作为 offsets_for_times() 中的参数。但是,我得到的值都是 None
zz = dict(zip(ck.assignment(), [100]*ck.assignment() ))
z = ck.offsets_for_times(zz)
z.values()
dict_values([None, None, None])