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

Apache Avro
開發者Apache軟件基金會
目前版本
  • 1.12.0(2024年8月5日;穩定版本)[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.12.0. 2024年8月5日 [2024年8月20日]. 
  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日). (英文)

擴充閱讀

編輯