2

有没有办法通过AvroInputStream.binaryapi 读取 bytesArray 并以某种方式指定 writer 版本?

val in = new ByteArrayInputStream(bytesFromFile)
val input = AvroInputStream.binary[newClass](in)// old ?
val result = input.iterator.toSeq

换句话说,avro4s 是否支持二进制记录的模式演变?

4

1 回答 1

1

avro4s 是否支持二进制记录的模式演变?

不。Avro 通常支持 Schema Evolution,当您为其提供模式时,它可以匹配属性名称及其类型。当没有模式时,它会根据序列化和反序列化方面的声明顺序进行中继。如果你修改你的类,就会破坏兼容性。

于 2017-03-23T09:32:39.913 回答