AvroData заменяет пустые значения на значения по умолчанию для схемы - PullRequest
0 голосов
/ 18 марта 2019

Я использую io.confluent.connect.avro.AvroData.fromConnectData для преобразования сообщения перед сериализацией.AvroData использует struct.get (field) для получения значений, которые, в свою очередь, заменяют пустые значения значениями по умолчанию для схемы.

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

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

1 Ответ

0 голосов
/ 20 марта 2019

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

...