Apache Avro

Apache Avro
開發者Apache软件基金会
当前版本
  • 1.11.3 (2023年9月25日;穩定版本)[1]
編輯維基數據鏈接
源代码库
  • github.com/apache/avro
編輯維基數據鏈接
类型远程过程调用框架
许可协议Apache许可证 2.0
网站https://avro.apache.org/

Avro是一种远程过程调用和数据序列化框架,是在Apache的Hadoop项目之内开发的。它使用JSON来定义数据类型和通讯协议,使用压缩二进制格式来序列化数据。它主要用于Hadoop,它可以为持久化数据提供一种序列化格式,并为Hadoop节点间及从客户端程序到Hadoop服务的通讯提供一种电报格式。

它类似于Thrift,但当数据库模式英语Database schema改变时,它不要求运行代码生成程序,除非是对静态类型的语言。

已有API的语言

虽然理论上任何语言都可以使用Avro,但是以下语言有专门为其编写的API:[2][3]

Avro IDL

为进一步支持JSON在类型及协议定义中使用,Avro包含了一种试验性的[6]替代性支持,它针对一种接口描述语言(IDL)语法,被称作Avro IDL。它以前被称为GenAvro,它设计了一种语法类似于C/C++、Protocol Buffers等的格式,以吸引那些熟悉传统IDL和编程语言的用户。

参见

  • 自由软件主题
  • 数据序列化格式比较英语Comparison of data serialization formats
  • Apache Thrift
  • Google的Protocol Buffers
  • CiscoEtch英语Etch (protocol)
  • ZeroC英语ZeroC的ICE
  • MessagePack

参考文献

  1. ^ Release 1.11.3. 2023年9月25日 [2023年10月19日]. 
  2. ^ phunt. GitHub - phunt/avro-rpc-quickstart: Apache Avro RPC Quick Start.. GitHub. [2016年4月13日]. (原始内容存档于2020年11月9日). (英文)
  3. ^ 3.0 3.1 支持的语言 - Apache Avro - Apache软件基金会. [2016年4月21日]. (原始内容存档于2020年10月31日). (英文)
  4. ^ Avro: 1.5.1 - ASF JIRA. [2016年4月13日]. (原始内容存档于2016年4月25日). (英文)
  5. ^ [AVRO-533] Avro的.NET实现 - ASF JIRA. [2016年4月13日]. (原始内容存档于2020年10月25日). (英文)
  6. ^ Apache Avro 1.8.0 IDL. [2016年4月13日]. (原始内容存档于2010年9月20日). (英文)

扩展阅读

  • White, Tom. Hadoop:最终指南. 2010年11月. ISBN 978-1-4493-8973-4. 
顶级项目
  • Abdera英语Apache Abdera
  • Accumulo英语Apache Accumulo
  • ActiveMQ
  • Ambari英语Apache Ambari
  • Ant
  • Aries英语Apache Aries
  • Apache Arrow
  • Apache HTTP Server
  • APR
  • Avro
  • Axis
  • Axis2
  • Beam
  • Bloodhound英语Apache Bloodhound
  • Apache Brooklyn英语Apache Brooklyn
  • Buildr英语Apache Buildr
  • Calcite英语Apache Calcite
  • Camel
  • Cassandra
  • Cayenne英语Apache Cayenne
  • Chemistry英语Apache Chemistry
  • CloudStack英语Apache CloudStack
  • Cocoon英语Apache Cocoon
  • Continuum英语Apache Continuum
  • Cordova
  • CouchDB
  • cTAKES英语cTAKES
  • CXF
  • Deltacloud英语Deltacloud
  • Derby
  • Directory英语Apache Directory Server
  • Drill英语Apache Drill
  • Empire-db英语Apache Empire-db
  • ECharts
  • Felix英语Apache Felix
  • Flex
  • Flink
  • Flume英语Apache Flume
  • Forrest英语Apache Forrest
  • Geronimo英语Apache Geronimo
  • Gora英语Apache Gora
  • Gump英语Apache Gump
  • Hadoop
  • Hama英语Apache Hama
  • HBase
  • Hive
  • Jackrabbit英语Apache Jackrabbit
  • James英语Apache James
  • JMeter英语Apache JMeter
  • Kafka
  • Karaf英语Apache Karaf
  • Kylin英语Apache Kylin
  • Lucene
  • Lenya英语Apache Lenya
  • Mahout英语Apache Mahout
  • Marmotta英语Apache Marmotta
  • Maven
  • MINA英语Apache MINA
  • mod_perl英语mod_perl
  • MyFaces英语Apache MyFaces
  • Nutch英语Apache Nutch
  • ODE英语Apache ODE
  • OFBiz英语Apache OFBiz
  • Oozie英语Oozie
  • OpenEJB英语Apache OpenEJB
  • OpenJPA英语Apache OpenJPA
  • OpenNLP
  • OpenOffice
  • PDFBox英语Apache PDFBox
  • Phoenix英语Apache Phoenix
  • POI
  • Pig英语Pig (programming tool)
  • Pivot英语Apache Pivot
  • Qpid英语Apache Qpid
  • River英语Apache River
  • Roller英语Apache Roller
  • RocketMQ
  • Samza英语Apache Samza
  • ServiceMix英语Apache ServiceMix
  • Shindig英语Apache Shindig
  • Shiro
  • Sling英语Apache Sling
  • Spark
  • Stanbol英语Apache Stanbol
  • Storm
  • SpamAssassin
  • Sqoop
  • Apache C++标准库英语stdcxx
  • Struts
  • Struts 2
  • Subversion
  • Tapestry
  • Thrift
  • Tiles英语Apache Tiles
  • Tika英语Apache Tika
  • Tomcat
  • Trafficserver
  • Turbine
  • Tuscany
  • UIMA
  • Velocity
  • Wave
  • Wicket
  • Wink英语Apache Wink
  • Xalan英语Xalan
  • Xerces英语Xerces
  • XMLBeans英语XMLBeans
  • ZooKeeper
ASF logo
Commons项目
  • Apache Commons Logging英语Apache Commons Logging
  • BCEL英语Byte Code Engineering Library
  • BSF英语Bean Scripting Framework
  • Commons Daemon英语Commons Daemon
  • Jelly英语Apache Jelly
Lucene项目
  • Lucene Java
  • Lucene.Net英语Lucene.Net
  • Nutch英语Nutch
  • Solr
Hadoop项目
其他项目
  • Batik
  • Chainsaw英语Chainsaw (log file viewer)
  • FOP
  • Log4j
  • XAP英语Apache XAP
  • Log4Net
  • Ivy英语Apache Ivy
孵化器项目
  • XAP英语Apache XAP
  • Samza英语Apache Samza
  • Storm
Apache Attic
  • AxKit英语AxKit
  • Beehive英语Apache Beehive
  • Click英语Apache Click
  • Apache BlueSky英语BlueSky Open Platform
  • Cactus英语Jakarta Cactus
  • Jakarta
  • Excalibur英语Apache Excalibur
  • Harmony
  • HiveMind英语Apache HiveMind
  • Lenya英语Apache Lenya
  • Slide英语Jakarta Slide
  • Shale英语Apache Shale
  • Shindig英语Apache Shindig
  • stdcxx英语Apache C++ Standard Library
  • iBATIS
  • XMLBeans英语XMLBeans
许可证标准
  • 分类 分类
  • 共享资源页面 维基共享
人类可读的格式
二进制格式