kafka: производитель и потребитель с другим файлом avro
Я обрабатываю 2 разных файла avro:
avroConsumer:
{"namespace": "autoGenerated.avro",
"type": "record",
"name": "UserConsumer",
"fields": [
{"name": "Name", "type": "string"},
{"name": "Surname", "type":["null","string"],"default": null},
{"name": "favorite_number", "type": ["long", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
авроПроизводитель:
{"namespace": "autoGenerated.avro",
"type": "record",
"name": "UserProducer",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
При процедуре компиляции происходит ошибка десериализации, но я подумал, что определение атрибута "default" в приемнике должно заставить его работать правильно.
Ссылка: http://avro.apache.org/docs/current/spec.html
если схема записи считывателя имеет поле, содержащее значение по умолчанию, а схема писателя не имеет поля с тем же именем, тогда читатель должен использовать значение по умолчанию из своего поля.
есть предложения? Могу ли я определить другой потребительский avro-файл, а не avro-файл производителя?