Как потреблять сообщения из темы кафки из конкретной точки с консольного потребителя? - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть тема, которая имеет довольно большой срок хранения и множество сохраненных данных.Я хотел бы читать сообщения только с определенного момента времени.

Я знаю, что это возможно с Java API, но я бы хотел использовать kafka-console-consumer, так как я просто хочу что-то быстро проверить.

Я мог бы использовать флаг --from-beginning, но я не буду избегать загрузки данных, которые затем нужно будет отфильтровать.

1 Ответ

0 голосов
/ 23 декабря 2018

Самый быстрый способ, который я нашел, - это создать группу потребителей, сбросить ее до времени, которое меня интересует, и затем использовать консоль-потребитель, используя эту новую группу, это команды:

# create a new group and reset the topic offset for the group to a specific date
kafka-consumer-groups --bootstrap-server localhost:9092 \
  --topic $topic \
  --reset-offsets \
  --group $randomname \
  --to-datetime 'YYYY-MM-DDTHH:mm:SS.sss' \
  --execute

и затем:

# start consuming by providing the newly created group
kafka-console-consumer --bootstrap-server localhost:9092 \
  --group $randomname \
  --topic $topic

Я использую kafka-cluster 1.1, и tbh не уверен, что эти флаги доступны для более старых версий.

...