一、avro的介绍
1、概括
avro是一个数据序列化系统,它提供
- 丰富的数据结构
- 快速可压缩的二进制数据形式
- 存储持久数据的文件容器
- 远程过程调用RPC
- 简单的动态语言结合功能
2、类型

二、avro在hadoop的使用
1、模式确定
例如:{"namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
其中namespace是包名,name是类名
2、text数据作为输入
2.1 无插件的序列化
//创建数据记录
Schema schema = new Schema.Parser().parse(new File("user.avsc"));
GenericRecord user1 = new GenericData.Record(schema);
user1.put("name", "Alyssa");
user1.put("favorite_number", 256);
// Leave favorite color null
GenericRecord user2 = new GenericData.Record(schema);
user2.put("name", "Ben");
user2.put("favorite_number", 7);
user2.put("favorite_color", "red");
//序列化
// Serialize user1, user2 and user3 to disk
DatumWriter<User> userDatumWriter = new SpecificDatumWriter<User>(User.class);
DataFileWriter<User> dataFileWriter = new DataF


6254

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



