如何使用Jackson反序列化Avro文件?

时间:2017-01-08 19:39:24

标签: java jackson avro jackson-dataformat-avro

Avro可以将批量序列化对象存储在单个文件中(“对象容器文件”)。 Avro支持对avro生成的java类或java bean风格的对象进行反序列化,在我看来这些对象限制性太强。我很乐意使用杰克逊,但我还没有办法做到这一点。

使用jackson-dataformat-avro对单个对象进行反序列化非常有效。挑战似乎是结合avro(用于读取文件和解析元数据)和jackson-dataformat-avro来反序列化文件中的每个对象。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

不幸的是,Avro指定File的格式与通过网络发送内容(序列化到其他目的地)的格式略有不同。在前一种情况下,包含Avro架构(序列化为JSON)。目前(杰克逊2.9)此格式尚不支持。

它应该相对容易支持,但不是微不足道的,所以希望它得到实施。问题在这里被跟踪:

https://github.com/FasterXML/jackson-dataformats-binary/issues/8