Как кодировать/декодировать сообщения Kafka с помощью двоичного кодировщика Avro?

Я пытаюсь использовать Avro для сообщений, читаемых из/записываемых в Kafka. Есть ли у кого-нибудь пример использования двоичного кодировщика Avro для кодирования/декодирования данных, которые будут помещены в очередь сообщений?

Мне больше нужна часть Avro, чем часть Kafka. Или, возможно, мне стоит обратить внимание на другое решение? По сути, я пытаюсь найти более эффективное решение для JSON с точки зрения пространства. Avro был просто упомянут, поскольку он может быть более компактным, чем JSON.

27
задан Kyr 17 February 2019 в 15:47
поделиться

1 ответ

Я, наконец, вспомнил, чтобы спросить список рассылки Kafka, и получил в ответ следующее, что отлично сработало.

Да, вы можете отправлять сообщения в виде байтовых массивов. Если вы посмотрите на конструктор класса Message, вы увидите -

def this (bytes: Array [Byte])

Теперь рассмотрим API-интерфейс источника () -

def send (providerData: ProducerData [K, V] *)

Вы можете установить тип V для сообщения, а для K - то, что вы хотите, чтобы ваш ключ был. Если вас не волнует разделение с помощью ключа, установите для него также Тип сообщения.

Спасибо, Неха.

.
11
ответ дан 28 November 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: