Ballista:Apache Arrow 的分散式排程器


已發布 2021 年 4 月 12 日
作者 Andy Grove (agrove)

我們很高興宣布 Ballista 已捐贈給 Apache Arrow 專案。

Ballista 是一個分散式計算平台,主要以 Rust 實作,並由 Apache Arrow 技術支援。它建立在一個架構之上,此架構允許其他程式語言(如 Python、C++ 和 Java)能作為一等公民獲得支援,而無需承擔序列化成本的代價。

Ballista 的基礎技術包括

Ballista 可以部署為獨立叢集,並且也支援 Kubernetes。在任何一種情況下,排程器都可以配置為使用 etcd 作為後端儲存,以(最終)在排程器故障時提供冗餘。

狀態

Ballista 專案仍處於早期開發階段。然而,它能夠在分散式叢集中執行複雜的分析查詢,並具有合理的效能(與更成熟的分散式查詢框架相當)。

Ballista 成為 Arrow 程式碼庫一部分的好處之一是,現在有機會將排程器的部分功能下推到 DataFusion,這樣就可以使用相同的統一查詢排程器,在 DataFusion 中跨核心,以及在 Ballista 中跨節點進行無縫擴展。

歡迎貢獻者!

如果您對能夠使用 Rust 進行分散式計算和 ETL 感到興奮,並希望為這項工作做出貢獻,那麼有很多種參與方式。最簡單的入門方式是針對您自己的資料集試用 Ballista,並針對您發現的任何問題提交錯誤報告。您也可以查看目前的 issue 清單,並嘗試修復其中一個。

Rust README 的 Arrow Rust 社群 章節提供了有關與 Ballista 貢獻者和維護者互動的其他方式的資訊。