Blaze:基於Rust加速器用更少資源加速Spark作業

banq發表於2022-05-25

超快的查詢執行引擎使用 Apache Spark 語言,並以 Arrow-DataFusion 為核心。

Apache Spark 的 Blaze 加速器利用本機向量化執行來加速查詢處理。它結合了Apache Arrow-DataFusion庫的強大功能和 Spark 分散式計算框架的規模。
Blaze 從 Spark 獲取一個完全最佳化的物理計劃,將其對映到 DataFusion 的執行計劃中,並在 Spark 執行器中執行本機計劃計算。
Blaze 由以下高階元件組成:
  • Blaze Spark 擴充套件:將整個加速器連線到 Spark 執行生命週期中。
  • Native Operators:定義每個 SparkPlan 如何對映到其本機執行對應項。
  • JNI 閘道器:透過 JNI 邊界傳遞資料和控制。
  • Plan SerDe:使用 protobuf 對 DataFusion 計劃進行序列化和反序列化。
  • Columnarized Shuffle:以 Arrow-IPC 格式組織的 shuffle 資料檔案。

基於 DataFusion 固有的明確定義的可擴充套件性,Blaze 可以輕鬆擴充套件以支援:
  • 各種物件儲存。
  • 運營商。
  • 簡單和聚合函式。
  • 檔案格式。


 

相關文章