Avro (产品编号:13771)

Apache Avro是一个数据序列化系统。

标签:

开发商: Apache

当前版本: v1.7.7

产品类型:控件

产品功能:网络通讯

平台语言:

开源水平:不提供源码

本产品的分类与介绍仅供参考,具体以商家网站介绍为准,如有疑问请来电 023-68661681 咨询。

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

产品质量分析及预测

* 关于本产品的分类与介绍仅供参考,精准产品资料以官网介绍为准,如需购买请先行测试。

产品特点:

Avro拥有以下特点:

  • 丰富的数据结构类型;

  • 快速可压缩的二进制数据形式,对数据二进制序列化后可以节约数据存储空间和网络传输带宽;

  • 存储持久数据的文件容器;

  • 可以实现远程过程调用RPC;

  • 简单的动态语言结合功能。

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

Avro和动态语言结合后,读/写数据文件和使用RPC协议都不需要生成代码,而代码生成作为一种可选的优化只需要在静态类型语言中实现。

Avro依赖于模式(Schema)。通过模式定义各种数据结构,只有确定了模式才能对数据进行解释,所以在数据的序列化和反序列化之前,必须先确定模式的结构。正是模式的引入,使得数据具有了自描述的功能,同时能够实现动态加载,另外与其他的数据序列化系统如Thrift相比,数据之间不存在其他的任何标识,有利于提高数据处理的效率。

支持的数据类型 

Avro支持的简单数据类型包括null、boolean、int、long、float、double、bytes和string。在这里,null是一种特殊类型,对应于没有数据,并可以用于代替任何数据类型。   

Avro支持的复杂类型包括以下几个:

  • Record:大致相当于C语言的结构体。Record有名称以及可选的名称空间、文档和别名。它包含一个命名属性的列表,这些属性可以是任何Avro类型。

  • Enum:值的枚举。Enum有名字、可选的名称空间、文档和别名,并包含一个符号列表(合法的JSON字符串)。

  • Array:相同类型条目的集合。

  • Map:字符串类型键和特定类型值的映射表。

  • Union:表示值的or选项。Union的常见用法是指定可以为空的值。

更新时间:2016-01-27 14:56:54.000 | 录入时间:2016-01-27 14:56:54.000 | 责任编辑:陈俊吉

相关产品
SocketTools ActiveX Edition

一套使你能够在你的应用程序中添加互联网功能的ActiveX控件。

SocketTools Library Edition

SocketTools库版是一套Windows库,可简化互联网应用开发

SocketTools Subscription

一套用于Windows软件开发的互联网组件和库

TOP Server OPC Server

工业4.0工业控制软件Software Toolbox's OPC和原生HMI设备的连接软件,采用业界领先的Kepware技术。

IoT Solutions

MQTT, Azure, Amazon, Google, Rest, & Edge物联网方案

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP