1. Avro简介
Avro是由Doug Cutting(Hadoop之父)创建的数据序列化系统,旨在解决Writeable类型的不足:缺乏语言的可移植性。为了支持跨语言,Avro的schema与语言的模式无关。有关Avro的更多特性请参看官方文档 1。
Avro文件的读写是依据schema而进行的。通常情况下,Avro的schema是用JSON编写,而数据部分则是二进制格式编码,并采用压缩算法对数据进行压缩,以便减少传输量。
schema
schema中数据字段的类型包括两种
- 原生类型(primitive types): null, boolean, int, long, float, double, bytes, and string
- 复杂类型(complex types): record, enum, array, map, union, and fixed