Десериализация сообщения kafka без реестра схем - PullRequest
0 голосов
/ 07 августа 2020

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

Я искал некоторое время, но все примеры, которые я вижу, относятся к десериализации файлов, подобной этой http://avro.apache.org/docs/1.9.0/gettingstartedjava.html и не покрывать часть сообщения kafka.

Я использовал плагин avro maven и преобразовал мою схему в класс pojo.

Любые советы приветствуются!

Спасибо ты

Ответы [ 2 ]

1 голос
/ 07 августа 2020

Вам нужно отменить процесс производителя. Если производитель использовал сериализатор реестра схемы, то вам понадобится реестр для десериализатора, независимо от наличия схемы.

Не зная, что logi c сериализатора, будет сложно написать десериализатор.

Короткий ответ заключается в том, что вы должны использовать BinaryDecoder - , как это делает Confluent

0 голосов
/ 08 августа 2020

В итоге я использовал SpecificDatumReader для этого.

Полный пример можно найти здесь https://cwiki.apache.org/confluence/display/AVRO/FAQ.

Но идея в том, что пока поскольку у вас есть схема avro (или класс объекта, скомпилированный avro tools с использованием соответствующей схемы), вы можете использовать описанный выше подход для десериализации сообщений типа byte [].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...