Trino 是一个用于大数据分析的快速分布式 SQL 查询引擎。
有关部署说明和最终用户文档,请参阅用户手册。
了解所有 Trino 组织项目的开发:
网站开发部分的更多信息包括不同的角色,如贡献者、审阅者和维护者、相关流程和其他方面。
有关 SPI、实现连接器和其他插件、客户端协议、编写测试和其他较低级别详细信息的信息,请参阅 Trino 开发人员指南。
有关代码风格、开发过程和指南的信息,请参阅开发。
有关贡献要求,请参阅贡献。
有关报告漏洞的信息,请参阅项目安全策略。
Trino 从版本 449 开始支持可重现的构建。
Trino 是一个标准的 Maven 项目。只需从项目根目录运行以下命令:
./mvnw clean install -DskipTests
在第一个构建中,Maven 从互联网下载所有依赖项并将它们缓存在本地存储库 ( ~/.m2/repository
) 中,这可能需要一段时间,具体取决于您的连接速度。后续构建速度更快。
Trino 有一套全面的测试,需要相当长的时间才能运行,因此可以通过上述命令禁用。当您提交拉取请求时,这些测试由 CI 系统运行。我们建议仅在本地对您更改的代码区域运行测试。
第一次构建 Trino 后,您可以将项目加载到 IDE 中并运行服务器。我们建议使用 IntelliJ IDEA。因为 Trino 是一个标准的 Maven 项目,所以您可以轻松地将其导入到您的 IDE 中。在 IntelliJ 中,从“快速启动”框中选择“打开项目” ,或从“文件”菜单中选择“打开”并选择根pom.xml
文件。
在 IntelliJ 中打开项目后,仔细检查是否为该项目正确配置了 Java SDK:
运行 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
。
要调整为开发服务器启用哪些插件,请调整config.properties
中的plugin.bundles
的值。此列表中的每个条目必须代表由以下选项之一指定的插件:
pom.xml
或*.pom
文件的路径。<groupId>:<artifactId>[:<extension>[:<classifier>]]:<version>
。该插件将通过 Maven 加载,因此必须在本地存储库或远程存储库中可用。如果要使用目录中的插件,则必须将相应的<catalog_name>.properties
文件添加到testing/trino-server-dev/etc/catalog
。
启动 CLI 连接到服务器并运行 SQL 查询:
client/trino-cli/target/trino-cli-*-executable.jar
运行查询以查看集群中的节点:
SELECT * FROM system.runtime.nodes;
针对 TPCH 连接器运行查询:
SELECT * FROM tpch.tiny.region;