#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