环境:
Intellij 15.0.3
Maven
avro 1.8.0
Avro是一个数据序列化系统。
它提供以下:
1 丰富的数据结构类型
2 快速可压缩的二进制数据形式
3 存储持久数据的文件容器
4 远程过程调用RPC
5 简单的动态语言结合功能,Avro和动态语言结合后,读写数据文件和使用RPC协议都不需要生成代码,而代码生成作为一种可选的优化只值得在静态类型语言中实现。
Avro依赖于模式(Schema)。Avro数据的读写操作是很频繁的,而这些操作都需要使用模式,这样就减少写入每个数据资料的开销,使得序列化快速而又轻巧。这种数据及其模式的自我描述方便于动态脚本语言的使用。
下面介绍如果使用avro进行序列化和反序列化的操作
前置条件:
maven项目
1、在pom.xml中添加avro的依赖包和编译插件
1.1 配置avro依赖
在dependencies中配置avro的GAV
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.8.0</version>
</dependency>
1.2 在build–>plugins下配置编译插件
<plugin<