Trino 是一个用于大数据分析的快速分布式 SQL 查询引擎。
有关部署说明和最终用户文档, 请参阅用户手册。
有关代码风格、开发过程和指南的信息,请参阅开发。
有关贡献要求,请参阅贡献。
有关报告漏洞的信息,请参阅项目安全策略。
- Mac OS X 或 Linux
- Java 21.0.1+,64 位
- 码头工人
- 关闭 SELinux 或其他禁用本地结帐写入访问的系统,以允许容器挂载 Trino 源树的部分内容
Trino 是一个标准的 Maven 项目。只需从项目根目录运行以下命令:
./mvnw clean install -DskipTests
在第一个构建中,Maven 从互联网下载所有依赖项并将它们缓存在本地存储库 ( ~/.m2/repository
) 中,这可能需要一段时间,具体取决于您的连接速度。后续构建速度更快。
Trino 有一套全面的测试,需要相当长的时间才能运行,因此可以通过上述命令禁用。当您提交拉取请求时,这些测试由 CI 系统运行。我们建议仅在本地对您更改的代码区域运行测试。
第一次构建 Trino 后,您可以将项目加载到 IDE 中并运行服务器。我们建议使用
IntelliJ IDEA。由于 Trino 是一个标准 Maven 项目,因此您可以轻松地将其导入到 IDE 中。在 IntelliJ 中,从“快速启动”框中选择
“打开项目” ,或
从“文件”菜单中选择“打开”并选择根文件。pom.xml
在 IntelliJ 中打开项目后,仔细检查是否已为该项目正确配置了 Java SDK:
- 打开文件菜单并选择项目结构
- 在 SDK 部分中,确保选择 JDK 21(如果不存在则创建一个)
- 在“项目”部分中,确保“项目语言级别”设置为 21
运行 Trino 进行开发的最简单方法是运行该类TpchQueryRunner
。它将启动配置有 TPCH 连接器的服务器的开发版本。然后,您可以使用 CLI 对此服务器执行查询。许多其他连接器都有自己的*QueryRunner
类,您可以在处理特定连接器时使用它们。
Trino 附带了示例配置,可以开箱即用地进行开发。使用以下选项创建运行配置:
- 主要类别:
io.trino.server.DevelopmentServer
- 虚拟机选项:
-ea -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties -Djdk.attach.allowAttachSelf=true
- 工作目录:
$MODULE_DIR$
- 使用模块的类路径:
trino-server-dev
工作目录应该是trino-server-dev
子目录。在 IntelliJ 中,使用$MODULE_DIR$
自动完成此操作。
如果VM options
对话框中不存在,您需要选择Modify options
并启用Add VM options
。
启动 CLI 连接到服务器并运行 SQL 查询:
client/trino-cli/target/trino-cli-*-executable.jar
运行查询以查看集群中的节点:
SELECT * FROM system.runtime.nodes;
针对 TPCH 连接器运行查询:
SELECT * FROM tpch.tiny.region;