lakehq/sail
Drop-in Apache Spark replacement written in Rust, unifying batch processing, stream processing, and compute-intensive AI workloads.
解決的問題
Sail 是 Apache Spark 的高效率 Rust 原生替代方案。它消除了 Spark 所需的「JVM稅」——即記憶體開銷、垃圾回收停頓與複雜的調校——同時完全相容 Spark Connect 協定、Spark SQL 與 DataFrame API。
工作原理
Sail 基於 Rust、Apache Arrow 與 Apache DataFusion 建構。它使用欄位式記憶體格式與 SIMD 指令實現向量化執行。為維持相容性,它實作自訂的 Rust 解析器處理 Spark SQL,並支援 Spark Connect 協定,讓使用者無需重寫程式碼,即可將現有的 PySpark 會話連接至 Sail 伺服器。同時也透過 Arrow 數組指標實現 Python UDF 的零複製資料共用,降低序列化開銷。
適用對象
使用 Apache Spark 進行批次與串流處理,或處理計算密集型 AI 工作負載的資料工程師與 AI 實務人員,希望在不遷移既有程式碼庫的前提下,降低基礎設施成本並提升執行速度。
主要亮點
- 即插即用的 Spark 相容性:透過 Spark Connect 支援 Spark SQL 與 DataFrame API,無需程式碼重寫。
- Rust 原生效能:消除 JVM 開銷,實現即時啟動與可預測的記憶體安全性。
- 顯著的成本與速度提升:基準測試顯示,相比 Spark,執行速度最高提升 10 倍,基礎設施成本降低 98%。
- 廣泛整合支援:原生支援 Delta Lake、Apache Iceberg 及多種雲端儲存後端(S3、Azure、GCS 等)。
- 高效資料洗牌:工作節點之間直接交換 Arrow 欄位式資料,最大限度降低連接與聚合運算的成本。
相關
- 專案
- 專案
- 專案
- 專案
- 專案