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
复杂类型比较常用的record。这里用[2]中twitter.avro文件为例,打开文件
Avro是Hadoop之父创建的数据序列化系统,解决Writeable类型的不足,支持跨语言。它使用JSON定义schema,数据部分以二进制格式编码并压缩。Avro文件由header和data blocks组成,header包含schema信息,data blocks使用可选的压缩算法。序列化分为specific和generic方式。Avro-tools提供对Avro文件的操作,如切割文件作为测试数据。
订阅专栏 解锁全文
1070

被折叠的 条评论
为什么被折叠?



