Avro是一種遠程過程調用和數據序列化框架,是在ApacheHadoop項目之內開發的。它使用JSON來定義數據類型和通訊協議,使用壓縮二進制格式來序列化數據。它主要用於Hadoop,它可以為持久化數據提供一種序列化格式,並為Hadoop節點間及從客戶端程序到Hadoop服務的通訊提供一種電報格式。

Apache Avro
開發者Apache軟件基金會
當前版本
  • 1.11.3 (2023年9月25日;穩定版本)[1]
編輯維基數據鏈接
源代碼庫 編輯維基數據鏈接
類型遠程過程調用框架
許可協議Apache許可證 2.0
網站https://avro.apache.org/

它類似於Thrift,但當數據庫模式英語Database schema改變時,它不要求運行代碼生成程序,除非是對靜態類型的語言。

已有API的語言 編輯

雖然理論上任何語言都可以使用Avro,但是以下語言有專門為其編寫的API:[2][3]

Avro IDL 編輯

為進一步支持JSON在類型及協議定義中使用,Avro包含了一種試驗性的[6]替代性支持,它針對一種接口描述語言(IDL)語法,被稱作Avro IDL。它以前被稱為GenAvro,它設計了一種語法類似於C/C++、Protocol Buffers等的格式,以吸引那些熟悉傳統IDL和編程語言的用戶。

參見 編輯

參考文獻 編輯

  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日). (英文)

擴展閱讀 編輯