Apache Arrow 的原生 Go 語言函式庫
已發布 2018年3月22日
作者 Apache Arrow PMC (pmc)
自 2016 年初啟動以來,Apache Arrow 一直快速成長。在超過 120 位不同貢獻者的努力下,我們已發布九個主要版本。專案的範疇也已擴展。我們最初專注於開發標準化的記憶體內 columnar 資料格式,這現在已成為專案的支柱。從那時起,透過專案的新增功能(例如 Plasma 共享記憶體物件儲存),我們已發展成為更通用的跨語言記憶體內資料分析平台。專案的主要目標是讓資料系統開發人員能夠快速處理和移動資料。
到目前為止,我們已正式開發 C++、Java 和 JavaScript 的原生 Arrow 實作。我們已為 C++ 函式庫在 C 語言(使用 GLib 函式庫)和 Python 中建立綁定層。我們也看到在 Go、Lua、Ruby 和 Rust 中開發 Arrow C++ 函式庫介面的努力。雖然綁定層有多種用途,但原生實作可能具有優勢,因此我們一直渴望看到未來在 Go 和 Rust 等不斷發展的系統語言中進行原生實作的工作。
去年十月,Stuart Carnie、Nathaniel Cook 和 Chris Goller 等工程師,他們是 InfluxData 的員工,開始開發原生 [Go 語言實作 Apache Arrow 記憶體內 columnar 格式,以便在 InfluxDB 等基於 Go 的資料庫系統中使用。我們很高興宣布 InfluxData 已將此原生 Go 實作 捐贈給 Apache Arrow 專案,該實作將在該專案中繼續開發。這項工作具有與 Go 執行階段的低階整合,以及對 SIMD 指令集的原生支援。我們期待與 Go 社群更緊密地合作,以解決記憶體內分析和資料互操作性問題。

Apache 軟體基金會的座右銘之一是「社群重於程式碼」。透過在許多程式語言生態系統中建立開放且協作的開發社群,我們將能夠為資料開發人員面臨的系統問題開發更好、更持久的解決方案。
我們對 Apache Arrow 專案的未來感到興奮。為像 Go 這樣流行的系統程式語言新增一流的支援是邁向成功的重要一步。我們歡迎 Go 社群的其他人士參與專案。我們也歡迎希望探索為其他尚未表示的程式語言建立 Arrow 支援的人士。請造訪 https://arrow.dev.org.tw 以瞭解更多資訊,並加入郵件列表 dev@arrow.apache.org。