一个完整的Avro数据序列化例子
2014-07-22 17:15
330 查看
1.环境准备:
在Avro官网下载Avro的jar文件,以最新版本1.7.4为例,分别下载avro-1.7.4.jar和avro-tool-1.7.4.jar;并下载JSON的jar文件core-asl和mapper-asl。将以上四个文件放入${HADOOP_HOME}/lib目录下(当前为/usr/local/hadoop/lib,为了以后hadoop项目方便)。
2.定义模式(Schema):
编辑如下内容,生成文件user.avsc:
3.编译模式:
在当前目录下执行如下命令:
这时候当前目录下会生成example/avro/User.java目录和文件。
4 编写测试文件
编辑如下内容,生成文件Test.java:
由以上输出结果可以对avro的序列化功能有一个直观感受。
参考资料:
http://avro.apache.org/docs/1.7.4/gettingstartedjava.html
/article/10465011.html
wzw0114
2013.07.17
在Avro官网下载Avro的jar文件,以最新版本1.7.4为例,分别下载avro-1.7.4.jar和avro-tool-1.7.4.jar;并下载JSON的jar文件core-asl和mapper-asl。将以上四个文件放入${HADOOP_HOME}/lib目录下(当前为/usr/local/hadoop/lib,为了以后hadoop项目方便)。
2.定义模式(Schema):
编辑如下内容,生成文件user.avsc:
在当前目录下执行如下命令:
4 编写测试文件
编辑如下内容,生成文件Test.java:
5.编写编译文件:
编辑如下内容,生成文件compile.sh,注意其中的类路径:
6.编写运行文件:
编辑如下内容,生成文件run.sh,注意其中的类路径:
7.测试:
(1).编译:
运行compile.sh脚本,编译example/avro/User.java和Test.java文件,生成对应的类文件。
(2).打包User类文件:
jar cvf ./example .
(2).运行:
运行run.sh脚本,查看程序输出结果。
(3).查看avro序列化效果:
在Test.java的写入部分添加一个for循环,多写一些user(如100次)到user.avro,然后把run.sh的输出结果存储到纯文本中user.plain中,观察user.avro和user.plain的大小:
参考资料:
http://avro.apache.org/docs/1.7.4/gettingstartedjava.html
/article/10465011.html
wzw0114
2013.07.17
相关文章推荐
- 一个完整的Avro数据序列化例子
- Java实现数据序列化工具Avro的例子
- [SharePoint 2010]一个完整的Silverlight显示List数据的例子
- 一个使用JdbcTemplate增加一组数据的完整例子
- 使用Hibernate的一个完整例子
- rome的一个小例子,读取rss数据
- 一个数据连接例子c#
- 使用Hibernate的一个完整例子
- 网上取数据的一个例子
- 一个使用GridView显示数据,并且可以进行添加、修改、删除操作的例子
- 用string实现的一个完整的类,包含以下操作:重载运算符 > >,< < ,string模板类,fstream对二进制数据读写
- 使用Hibernate的一个完整例子
- 一个类数据类型的STL例子
- 重新认识表格和一个访问无障碍的数据表格例子
- 使用Hibernate的一个完整例子
- 用java接收lotus邮件一个完整例子
- 非阻塞方式下Socket读取数据的一个例子
- 哈哈,800万的数据终于导完了,晚上写了一个Template的小例子
- 一个完整的DataGrid自定义分页例子
- 一个完整的hibernate的one-to-many的例子