Presto C++

注:Presto C++ は現在開発中です。制限事項 を参照してください。

概要

Presto C++ は、開発コードネーム Prestissimo とも呼ばれ、C++ で記述され、Velox ライブラリに基づいた、Presto ワーカーのドロップイン置換です。Proxygen C++ HTTP フレームワークを使用して、Java ワーカーと同じ RESTful エンドポイントを実装します。Java コーディネーターおよびワーカー間の通信は REST エンドポイントのみを使用して行われるため、Presto C++ は JNI を使用せず、ワーカーノードに JVM は必要ありません。

Presto C++ のコードベースは、presto-native-execution にあります。

動機とビジョン

Presto は、データレイクのための最高性能のシステムを目指しています。この目標を達成するために、Presto コミュニティは、ネイティブの Java ベースの実装から、Velox を使用して C++ で記述された新しい実装に Presto 評価エンジンを移行しています。

評価エンジンをライブラリに移行することにより、Presto コミュニティは、より多くの機能と、テーブル形式やその他のデータウェアハウスシステムとのより良い統合に焦点を当てることができます。

サポートされているユースケース

Presto C++ 評価エンジンでは、特定のコネクタのみがサポートされています。

  • CTAS を含む読み取りと書き込みのための Hive コネクタがサポートされています。

  • Iceberg テーブルは読み取りのみサポートされています。

  • Iceberg コネクタは、削除ファイルを含む V1 および V2 テーブルの両方をサポートします。

  • `tpch.naming=standard` カタログプロパティを持つ TPCH コネクタ。