Avro:数据序列化系统【Hadoop中的一个子项目】【用来支持数据密集型应用,适合于远程或本地大规模数据的存储和交换】

Avro是Apache Hadoop的一个子项目,提供高性能、基于二进制的数据序列化系统。它支持丰富的数据结构,采用快速且可压缩的二进制格式,常用于HBase和Hive的数据传输。Avro还具备文件容器、RPC功能和动态语言集成,且模式驱动的设计减少了序列化开销。Avro可在多种编程语言间无缝工作,并且其数据模式随数据一同存储,方便处理和跨平台交互。
摘要由CSDN通过智能技术生成

一、Avro简介

Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的中间件。在Hadoop的其他项目中例如HBase(Ref)和Hive(Ref)的Client端与服务端的数据传输也采用了这个工具。Avro是一个数据序列化的系统。Avro 可以将数据结构或对象转化成便于存储或传输的格式。Avro设计之初就用来支持数据密集型应用,适合于远程或本地大规模数据的存储和交换。

Avro官网:Apache Avro

Avro的GitHub:GitHub - apache/avro: Apache Avro is a data serialization system.

Avro特点:

  • 丰富的数据结构类型;
  • 快速可压缩的二进制数据形式,对数据二进制序列化后可以节约数据存储空间和网络传输带宽;
  • 存储持久数据的文件容器;
  • 可以实现远程过程调用RPC;
  • 简单的动态语言结合功能。

avro支持跨编程语言实现(C, C++, C#,Java, Python, Ruby, PHP),类似于Thrift,但是avro的显著特征是:avro依赖于模式,动态加载相关数据的模式,Avro数据的读写操作很频繁,而这些操作使用的都是模式,这样就减少写入每个数据文件的开销,使得序列化快速而又轻巧。这种数据及其模式的自我描述方便了动态脚本语言的使用。当Avro数据存储到文件中时,它的模式也随之存储,这样任何程序都可以对文件进行处理。如果读取数据时使用的模式与写入数据时使用的模式不同,也很容易解决,因为读取和写入的模式都是已知的。

二、安装

1、C++版

下载

git clone https://github.com/apache/avro.git

 

 进入c++文件夹

 编译

mkdir build
cd build
cmake -G "Unix Makefiles" ..
make
ctest

安装

cmake --install . --prefix "/home/wyr/develop/3thparty"

avro是什么-爱码网

什么是Avro?Hadoop首选串行化系统——Avro简介及详细使用_51CTO博客_avro hadoop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值