Kafka Connect: чтение «Connect.offsets» в автономном режиме для получения последнего обработанного смещения - PullRequest
0 голосов
/ 08 марта 2020

Я использую исходный соединитель Kafka. Я вижу, что в автономном режиме последние обработанные смещения хранятся в файле /tmp/connect.offsets. Я хочу прочитать это и в следующем запуске начать обработку с этого смещения. Я пытаюсь использовать метод смещения context.offsetStorageReader () или смещения для чтения этой информации.

Однако смещение метода имеет следующую подпись: https://kafka.apache.org/20/javadoc/org/apache/kafka/connect/storage/OffsetStorageReader.html

смещение

<T> java.util.Map<java.lang.String,java.lang.Object> offset​(java.util.Map<java.lang.String,T> partition)

Получить смещение для указанного раздела. Если данные еще не доступны локально, они получаются из резервного хранилища, что может потребовать некоторых сетевых обращений. Параметры:

partition - объект, однозначно идентифицирующий раздел данных

Возвращает: объект, однозначно идентифицирующий смещение в разделе данных

Я не уверен, что нужно быть представленным здесь для параметров, чтобы получить смещение в выходной карте. Я не вижу примеров для чтения из connect.offsets. В этом файле я вижу правильные смещения для моей темы / раздела, но какой параметр мне нужно передать в метод смещения OffsetStorageReader, чтобы получить выходные данные.

Любое руководство будет быть оцененным.

1 Ответ

0 голосов
/ 08 марта 2020

context.offsetStorageReader (). Offset () нуждается в параметре. Этот параметр может быть Collections.singletonMap ("PARTITION", partitionID)

partitionID - идентификатор строки раздела. Ниже работал у меня,

context.offsetStorageReader().offset(Collections.singletonMap("PARTITION", partitionID))
...