Presto C++

注意:Presto C++ 正在積極開發中。請參閱限制

概觀

Presto C++,有時以開發名稱 Prestissimo 稱之,是 Presto worker 的替代方案,以 C++ 編寫並基於 Velox 函式庫。它使用 Proxygen C++ HTTP 框架實作與 Java worker 相同的 RESTful 端點。由於與 Java coordinator 和跨 worker 的通訊僅使用 REST 端點進行,因此 Presto C++ 不使用 JNI,並且在 worker 節點上不需要 JVM。

Presto C++ 的程式碼庫位於 presto-native-execution

動機與願景

Presto 的目標是成為資料湖效能最高的系統。為了實現這個目標,Presto 社群正將 Presto 評估引擎從基於原生 Java 的實作移至使用 Velox 以 C++ 編寫的新實作。

藉由將評估引擎移至函式庫,其目的是讓 Presto 社群能夠專注於更多功能以及與表格格式和其他資料倉儲系統的更好整合。

支援的使用案例

Presto C++ 評估引擎中僅支援特定的連接器。

  • 支援用於讀取和寫入的 Hive 連接器,包括 CTAS。

  • 僅支援讀取 Iceberg 表格。

  • Iceberg 連接器支援 V1 和 V2 表格,包括具有刪除檔案的表格。

  • TPCH 連接器,具有 tpch.naming=standard 目錄屬性。