zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

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

hadoop应用存储系统数据 远程 一个 支持
2023-09-27 14:20:41 时间

一、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