关于Avro(一) 数据类型和模式,序列化和反序列化,Avro数据文件

Avro是数据序列化系统, .avsc

1) 因为Hadoop的Writable接口缺乏语言的可移植性,Doug Cutting创建了Avro可被多种语言处理,即独立于具体的编程语言

2) 数据使用二进制编码,模式使用JSON

3) Avro规范对所有实现都必须支持的二进制格式进行了精确定义

4) 丰富的模式解析能力

5) 指定对象容器格式


Avro数据类型和模式

1) 基本数据类型

2) 复杂类型

3) 映射

    > 通用映射:运行前不知道具体模式,可以使用动态映射

    > 特殊映射:读写之前有模式备份,代码生成能优化数据处理

    > 自反映射:


序列化和反序列化

    > 特定API:DatumWriter/Encoder


Avro数据文件

1) 存储Avro对象序列

2) 头部有元数据:Avro模式+sync marker

3) 可切分

4) FsInput/DataFileReader



猜你喜欢

转载自blog.csdn.net/weixin_42129080/article/details/80924866