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