Apache Avro
- 1.12.0 (2024年8月5日;穩定版本)[1]
- github
.com /apache /avro
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
- Cisco的Etch(英语:Etch (protocol))
- ZeroC(英语:ZeroC)的ICE
- MessagePack
参考文献
- ^ Release 1.12.0. 2024年8月5日 [2024年8月20日].
- ^ phunt. GitHub - phunt/avro-rpc-quickstart: Apache Avro RPC Quick Start.. GitHub. [2016年4月13日]. (原始内容存档于2020年11月9日). (英文)
- ^ 3.0 3.1 支持的语言 - Apache Avro - Apache软件基金会. [2016年4月21日]. (原始内容存档于2020年10月31日). (英文)
- ^ Avro: 1.5.1 - ASF JIRA. [2016年4月13日]. (原始内容存档于2016年4月25日). (英文)
- ^ [AVRO-533] Avro的.NET实现 - ASF JIRA. [2016年4月13日]. (原始内容存档于2020年10月25日). (英文)
- ^ 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
- Apache Commons Logging(英语:Apache Commons Logging)
- BCEL(英语:Byte Code Engineering Library)
- BSF(英语:Bean Scripting Framework)
- Commons Daemon(英语:Commons Daemon)
- Jelly(英语:Apache Jelly)
- Lucene Java
- Lucene.Net(英语:Lucene.Net)
- Nutch(英语:Nutch)
- Solr
- XAP(英语:Apache XAP)
- Samza(英语:Apache Samza)
- Storm
- 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)
- 分类
- 维基共享
|