Как подключить преобразование для логического типа в Avro deserializer? - PullRequest
0 голосов
/ 15 октября 2019

Я ищу ту же информацию о том, как подключить конверсию. В настоящее время преобразование всегда равно нулю, и я не могу преобразовать его в BigDecimal, когда используется логический тип. Тем не менее, я вижу следующие преобразования в автоматически сгенерированном классе заглушки. Но тип объекта, читаемый десериализатором, всегда является ByteBuffer, и он генерирует исключение приведения класса.

В автоматически сгенерированном файле-заглушке: защищенный статический финал org.apache.avro.data.TimeConversions.DateConversion DATE_CONVERSION = new org.apache.avro.data.TimeConversions.DateConversion ();защищенный статический финал org.apache.avro.data.TimeConversions.TimeConversion TIME_CONVERSION = new org.apache.avro.data.TimeConversions.TimeConversion ();защищенный статический финал org.apache.avro.data.TimeConversions.TimestampConversion TIMESTAMP_CONVERSION = новый org.apache.avro.data.TimeConversions.TimestampConversion ();Защищенный статический финал org.apache.avro.Conversions.DecimalConversion DECIMAL_CONVERSION = new org.apache.avro.Conversions.DecimalConversion ();

И он всегда равен NULL для преобразования в readField SpecificDatumReader ().

Преобразование конверсии = ((SpecificRecordBase)). GetConversion (f.pos ());

Версия Avro теперь 1.8.2 с Confluent Platform и Registry.

Какможно ли установить преобразование в десериализаторе?

...