Apache Avro
開發者 | Apache軟件基金會 |
---|---|
當前版本 |
|
源代碼庫 | |
類型 | 遠程過程調用框架 |
許可協議 | Apache許可證 2.0 |
網站 | https://avro.apache.org/ |
Avro是一種遠程過程調用和數據序列化框架,是在Apache的Hadoop項目之內開發的。它使用JSON來定義數據類型和通訊協議,使用壓縮二進制格式來序列化數據。它主要用於Hadoop,它可以為持久化數據提供一種序列化格式,並為Hadoop節點間及從客戶端程序到Hadoop服務的通訊提供一種電報格式。
它類似於Thrift,但當數據庫模式改變時,它不要求運行代碼生成程序,除非是對靜態類型的語言。
已有API的語言
雖然理論上任何語言都可以使用Avro,但是以下語言有專門為其編寫的API:[2][3]
Avro IDL
為進一步支持JSON在類型及協議定義中使用,Avro包含了一種試驗性的[6]替代性支持,它針對一種接口描述語言(IDL)語法,被稱作Avro IDL。它以前被稱為GenAvro,它設計了一種語法類似於C/C++、Protocol Buffers等的格式,以吸引那些熟悉傳統IDL和編程語言的用戶。
參見
- 數據序列化格式比較
- Apache Thrift
- Google的Protocol Buffers
- Cisco的Etch
- 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.