Сброс на настраиваемое смещение в разделе Kafka

Я изучаю Kafka для конкретного случая использования, над которым работаю. У меня есть поток текущих данных, и я хочу его обработать и опубликовать на промежуточных этапах.

На каждом из этих этапов (начальный и промежуточный) задачи Samza будут выполнять обработку и повторную публикацию. Одно из моих требований - иметь возможность повторно запускать весь конвейер обработки с определенного этапа во времени, когда я захочу.

Я знаю, что kafka поддерживает смещение для каждого из своих журналов (входящие данные). Однако предоставляет ли Kafka какие-либо функции, с помощью которых я могу сопоставить смещения разделов с некоторым настраиваемым идентификатором (например, отметкой времени) и использовать это для повторного запуска весь трубопровод с этого момента на подопечных?

Я читал в нескольких местах, что могу воспроизвести журнал фиксации kafka, сбросив его начало, а также вернувшись несколько раз назад. Но есть ли у меня способ сопоставить эти смещения с моим собственным идентификатором, таким как временные метки, и использовать его в качестве механизма, чтобы определить, с какого смещения воспроизводить.

Лучшее
Шабир


person Shabirmean    schedule 24.02.2020    source источник


Ответы (1)


вы можете использовать инструмент командной строки kafka-consumer-groups для сброса смещения для группы потребителей на основе отметки времени (--to-datetime). См. Дополнительную информацию на странице документа: https://kafka.apache.org/documentation/#basic_ops_consumer_group

То же самое, конечно, можно достичь с помощью кода.

person Natalia    schedule 24.02.2020