Схема avro с кодировкой json - как определить схему обратно из сериализованных данных - PullRequest
0 голосов
/ 31 мая 2019

Я хочу использовать схемы apache avro для сериализации и десериализации данных.

Я хочу использовать его с кодировкой JSON.

Я хочу поместить несколько этих сериализованных объектов, использующих разные схемы, в один и тот же «источник» (это тема Кафки).

Когда я читаю его обратно, у меня возникает необходимость найти правильную схему для текущего ввода данных.

Но сериализованные данные не содержат никакой информации о схеме. И тестировать все возможные схемы на совместимость (что-то вроде утилитарного подхода) было бы довольно нечисто и подвержено ошибкам (для данных, которые соответствуют нескольким схемам, было бы неясно, какую из них использовать)

В настоящее время я думаю о программном размещении пространства имен и имени объекта внутри данных json. Но такое решение не будет относиться к стандарту avro и откроет новый сценарий ошибки, в котором можно поместить неверное пространство имен схемы и / или имя объекта в данные.

Мне интересно, будет ли лучший способ. Или если у меня есть общий недостаток в моем решении.

Справочная информация: я хочу использовать его для сообщения kafka, но не хочу использовать реестр схемы (не хочу иметь новую единственную точку отказа). Я также все еще хочу иметь поддержку KSQL, которая доступна только для формата json или для использования avro с реестром схемы)

...