Presto C++¶
注意:Presto C++ 处于积极开发中。参见 限制.
概述¶
Presto C++,有时被称为开发名称 Prestissimo,是 Presto 工作节点的替代品,它使用 C++ 编写,并基于 Velox 库。它使用 Proxygen C++ HTTP 框架实现了与 Java 工作节点相同的 RESTful 端点。由于与 Java 协调器和工作节点之间的通信仅使用 REST 端点,因此 Presto C++ 不使用 JNI,也不需要工作节点上的 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
目录属性。