开源
Presto:用于大数据的分布式 SQL 查询引擎
来源:元经纪     阅读:916
网站管理员
发布于 2023-03-22 07:24
查看主页

概述

Presto 是一个用于大数据的分布式 SQL 查询引擎。

要求

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

有关部署说明和最终用户文档,请参阅用户手册。

构建Presto

Presto 是一个标准的 Maven 项目。只需从项目根目录运行以下命令:

./mvnw clean install

在第一次构建时,Maven 将从 Internet 下载所有依赖项并将它们缓存在本地存储库 ( ~/.m2/repository) 中,这可能会花费大量时间。后续构建会更快。

Presto 有一套全面的单元测试,可能需要几分钟才能运行。您可以在构建时禁用测试:

./mvnw clean install -DskipTests

Presto native 和 Velox

Presto native是 Presto worker 的 C++ 重写。Presto native使用Velox作为其主要引擎来运行 presto 工作负载。

Velox是一个 C++ 数据库库,它提供可重用、可扩展和高性能的数据处理组件。

查看构建说明以开始使用。

在您的 IDE 中运行 Presto

概述

首次构建 Presto 后,您可以将项目加载到 IDE 中并运行服务器。我们推荐使用IntelliJ IDEA。由于 Presto 是一个标准的 Maven 项目,您可以使用根pom.xml文件将其导入到您的 IDE 中。在 IntelliJ 中,从“快速启动”框中选择“打开项目”或从“文件”菜单中选择“打开”并选择根pom.xml文件。

在 IntelliJ 中打开项目后,仔细检查是否为项目正确配置了 Java SDK:

  • 打开文件菜单并选择项目结构
  • 在 SDKs 部分,确保选择 1.8 JDK(如果不存在则创建一个)
  • 在项目部分,确保项目语言级别设置为 8.0,因为 Presto 使用了多个 Java 8 语言功能

Presto 附带示例配置,应该开箱即用以进行开发。使用以下选项创建运行配置:

  • 主要类别:com.facebook.presto.server.PrestoServer
  • 虚拟机选项:-ea -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -Xmx2G -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties
  • 工作目录:$MODULE_WORKING_DIR$$MODULE_DIR$(取决于您的 IntelliJ 版本)
  • 使用模块的类路径:presto-main

工作目录应该是presto-main子目录。在 IntelliJ 中,using$MODULE_DIR$会自动完成此操作。

此外,必须使用 Hive metastore Thrift 服务的位置配置 Hive 插件。将以下内容添加到 VM 选项列表中,替换localhost:9083为正确的主机和端口(如果没有 Hive 元存储,则使用以下值):

-Dhive.metastore.uri=thrift://localhost:9083

将 SOCKS 用于 Hive 或 HDFS

如果本地计算机无法直接访问 Hive 元存储或 HDFS 集群,则可以使用 SSH 端口转发来访问它。使用 SSH 侦听本地端口 1080 设置动态 SOCKS 代理:

ssh -v -N -D 1080 server

然后将以下内容添加到 VM 选项列表中:

-Dhive.metastore.thrift.client.socks-proxy=localhost:1080

运行命令行

启动 CLI 连接到服务器并运行 SQL 查询:

presto-cli/target/presto-cli-*-executable.jar

运行查询以查看集群中的节点:

SELECT * FROM system.runtime.nodes;

在示例配置中,Hive 连接器安装在hive目录中,因此您可以运行以下查询来显示 Hive 数据库中的表default

SHOW TABLES FROM hive.default;

发展

有关做出新贡献和审查它们的指南,请参阅贡献。

构建文档

要了解如何构建文档,请参阅文档自述文件

构建网络用户界面

Presto Web UI 由多个 React 组件组成,使用 JSX 和 ES6 编写。此源代码被编译并打包成与浏览器兼容的 JavaScript,然后将其签入 Presto 源代码(在文件夹中dist)。您必须安装Node.jsYarn才能执行这些命令。要在进行更改后更新此文件夹,只需运行:

yarn --cwd presto-main/src/main/resources/webapp/src install

如果没有 JavaScript 依赖项发生变化(即,没有变化package.json),则运行速度更快:

yarn --cwd presto-main/src/main/resources/webapp/src run package

为了简化迭代,您还可以在watch模式下运行,当检测到源文件更改时自动重新编译:

yarn --cwd presto-main/src/main/resources/webapp/src run watch

要快速迭代,只需在打包完成后在 IntelliJ 中重新构建项目即可。项目资源将被热重新加载,更改会反映在浏览器刷新时。

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
廊坊银行单正勇:有效规模效应不足是中小银行数字化转型的魔咒
紧密连接人工智能 企业发展未来可期
火热报名中!Global AI Bootcamp•北京——AIGC前沿洞察与企业应用落地!
男子买2022年产二手苹果电脑 原购日期竟是1978年
浙江代表团建议 建设人工智能创新应用先导区

首页

分类

定制方案

消息

我的