Чтение сообщений Avro от Кафки в терминале — кафка-avro-консоль-потребительская альтернатива

#apache-kafka #avro #confluent-platform

Вопрос:

Я пытаюсь найти самый простой способ, как читать сообщения Avro из тем Кафки в удобочитаемом формате. Существует возможность использовать Confluent kafka-avro-console-consumer следующим образом

 ./kafka-avro-console-consumer   --topic topic   --from-beginning   --bootstrap-server bootstrap_server_url   --max-messages 10   --property schema.registry.url=schema_registry_url  

но для этого мне нужно загрузить всю платформу Confluent (1,7 ГБ), которую я считаю излишней в своем сценарии.

Есть ли какая-либо альтернатива, как я мог бы легко получать сообщения Avro из тем Кафки в терминале?

Ответ №1:

Вам потребуется загрузить дополнительные инструменты Kafka, поддерживающие реестр схем и формат Avro, такие как ksqlDB, Conduktor, AKHQ или аналогичные инструменты с графическим интерфейсом

kcat возможно, сейчас поддерживает Avro, я не могу вспомнить

Вы могли бы написать свой собственный потребительский сценарий. Библиотека Python от Confluent не требует большого количества кода для использования записей Avro

Вы также можете клонировать проект реестра схемы с Github и создать его самостоятельно, а затем использовать там сценарии командной строки

Комментарии:

1. Спасибо за советы, я использовал kcat и, немного подправив, наконец-то получил результат. У меня есть какой-то скрипт на Python, но я пытался найти что-то более простое, чем определенно является Kcat.

Ответ №2:

Я смог получить последние сообщения Avro в удобочитаемой форме с помощью kcat

 kcat -C -b bootstrap_server   -t topic   -r schema_registry   -p 0 -o -1 -s value=avro -e