AVRO介绍及同其他序列化系统的比较

AVRO是一种数据序列化系统,提供富数据结构、紧凑的二进制数据格式、容器文件存储等功能,并支持远程过程调用,无需生成代码即可使用。与Thrift和Protocol Buffers相比,AVRO更便于动态类型语言集成,简化数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AVRO介绍及同其他序列化系统的比较
guibin.beijing@gmail.com

AVRO是用来将数据序列化的系统,是apache hadoop的子项目,详情请参考官方网址[url]http://avro.apache.org[/url]

[size=medium]AVRO介绍[/size](翻译自[url]http://avro.apache.org/docs/current[/url])

avro是一个数据序列化系统。它提供了
[list][*]富数据结构
[*]紧凑的、快捷的二进制数据格式
[*]用于存储持久化数据的容器文件
[*]提供了远程过程调用(Remote procedure call-PRC)
[*]与动态语言简便的集成。读、写数据文件或者实现PRC协议都不需要生成代码。代码生成仅仅是一个用于优化的可选项,仅仅是为了静态类型语言而实现。[/list]
[size=medium]AVRO和其他序列化系统的比较[/size](翻译自[url]http://avro.apache.org/docs/current[/url])

Avro提供了和[url=http://incubator.apache.org/thrift/]Thrift[/url], [url=http://code.google.com/protobuf/]Protocol Buffers[/url]序列化系统相类似的功能。
[list][*]动态类型:Avro并不强制要求提前生成解析代码,而采取将数据和定义数据的schema同时存放的方式避免了使用提前生成的解析代码和静态类型定义等。这种便利性有利于构建通用数据处理系统和处理语言。
[*]未打标签的数据:由于在读取数据时能够同时访问到该数据的schema,因此只需要将相当少的类型信息编码到数据中,结果就使得序列化之后的数据体积变得更小。
[*]不存在手动分配的域ID:当schema改变之后,在处理相关数据时可以同时访问新老schema,因此新老数据的差异可以通过数据域的名字(field name)很容易的解决。[/list]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值