kafka поиск текста в теме - PullRequest
       7

kafka поиск текста в теме

0 голосов
/ 12 февраля 2019

Я хочу найти конкретные сообщения в теме kafka. Единственное решение, которое я нашел, это использование grep

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning |grep 'world\|hello'
  1. Есть ли эффективный способ сделать это?
  2. Есть ли способ, которым я могу ограничить потребителя определенным смещением, то есть читать с начала до достижения определенного смещения?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Есть ли эффективный способ сделать это?

Если у вас нет ключей сообщений, то нет.

Если вы это сделаете, то вы можете вычислить хэш Murmur2, найти номер раздела и отсканировать только тот, который все еще содержит --partition

Есть ли способ, которым я могуограничить потребителя определенным смещением, то есть считывать с начала до тех пор, пока не достигнет определенного смещения?

Вы можете указать --max-messages

Если вы не хотите начинать, всегда начинайтес самого начала добавьте --group и продолжайте выполнять ту же команду с параметром max messages.Это позволит использовать одну и ту же группу потребителей и зафиксировать смещения, когда это будет сделано

Вы также можете вручную зафиксировать смещения, чтобы начать с использования kafka-consumer-groups command

0 голосов
/ 12 февраля 2019

Есть ли эффективный способ сделать это?

Да.Ваше решение - быстрое и грязное решение.Если вы хотите фильтровать данные, используйте Streams API и пишите отфильтрованную информацию в другой теме.https://kafka.apache.org/documentation/streams/

...