我部署了一个redpanda集群,想通过时间戳查询偏移量。
我首先尝试了confluent-kafka
python库:
import confluent_kafka as ck
import uuid
c = ck.Consumer({
'bootstrap.servers': 'redpanda-bootstrap.example.com:9094',
'group.id': f'test-{uuid.uuid4()}',
})
tp = ck.TopicPartition('log-feed-test', 0, 1689584185555)
print(tp)
tp = c.offsets_for_times([tp])
print(tp)
字符串
这将返回-1,这意味着所有数据都在该时间戳之前。但是我确定在时间戳之后有数据,因为当我通过将offset设置为latest
来使用它时,我可以打印msg.timestamp()
,这给了我(1, 1689586682955)
。这里,1意味着它是有效的时间戳。
我还尝试了pykafka
,同样,它返回-1作为偏移量。我还尝试使用Kafka的消费者组脚本来尝试按时间重置组的偏移量,它总是将其设置为最新时间。
在我看来,这更像是一个redpanda问题,它不支持此功能。
我甚至使用redpanda-console,在主题中,我通过时间戳配置启动偏移量,它仍然为我加载最新的1消息。
1条答案
按热度按时间q8l4jmvw1#
好的,找到问题了。它不在redpanda中,它在生产者中。我使用sarama go库进行制作,那就有这个问题。现在我换成弗兰兹-戈做制片人,这很有效。