주제의 시작을 건너 뛰고 특정 타임 스탬프의 메시지 만 끝까지 읽으려고합니다. 이것을 달성하는 방법에 대한 힌트가 있습니까?파이썬 KafkaConsumer가 타임 스탬프에서 메시지를 소비하기 시작합니다.
0
A
답변
1
"KafkaConsumer"에 언급 된대로 kafka-python
(https://github.com/dpkp/kafka-python)을 사용하고있는 것으로 추측됩니다.
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
희망이 도움이되었습니다.
0
나는 그 방법을 사용하여 얻은 값에 대해서는 잘 모르겠지만 주위에있어. KafkaConsumer (ck)를 보유하고 있는데 assign() 메서드를 사용하여 항목의 파티션을 얻었습니다. 따라서 주제와 타임 스탬프가 포함 된 사전을 만들 수 있습니다 (이 경우 100 개).
사이드 질문 :모든 메시지를 가져 오려면 사용해야합니까?.
해당 사전을 offsets_for_times()에서 인수로 사용할 수 있습니다. 그러나, 내가 가진 값은 모든 못함 없습니다
zz = dict(zip(ck.assignment(), [100]*ck.assignment()))
z = ck.offsets_for_times(zz)
z.values()
dict_values([None, None, None])