Trino权威指南(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 Trino资源

在本书之外,还有很多可用资源可以帮你扩展有关Trino的知识。本节列举一些重要的起始点,其中大多数包含丰富的信息并指向更多资源。

1.4.1 官方网站

Trino软件基金会负责管理Trino项目的开源社区并维护项目网站。可以在图1-5中看到Trino官方网站的主页。Trino网站中包含文档、联系信息、发布最新消息和事件的社区博客、音频和视频格式的Trino社区广播,以及很多其他信息,详情请访问https://trino.io

图1-5:Trino官方网站的主页

1.4.2 文档

Trino的详细文档作为代码库的一部分被持续维护,你可以从官方网站上获取。该文档既包括高级概览,又包括SQL支持、函数、运算符、连接器、配置等方面的详细参考信息,还提供了包含最新修改细节的发布记录。Trino文档的地址是https://trino.io/docs

1.4.3 社区聊天室

你可以加入面向新手、进阶用户和专家用户,以及Trino代码贡献者和维护者的社区聊天室,Trino社区非常乐于帮助参与者,成员们每天都在积极地互相协作。社区聊天室的地址是https://trinodb.slack.com

你可以加入公告频道,然后查看关注各种主题的众多频道,如初学者帮助、bug分类、发布、开发,以及讨论Kubernetes或特定连接器的更多特定频道。

你几乎每天都可以在社区聊天室找到三位作者,我们非常乐意在那里听取你的反馈。

1.4.4 源代码、许可证和版本

Trino是在Apache License v2协议下的开源项目,其源代码在Git仓库中,可参见GitHub网站https://github.com/trinodb/trino

https://github.com/trinodb的TrinoDB组织中,包含许多与项目相关的其他代码库,比如官方网站、客户端、其他组件的源代码或用于贡献者许可证管理的仓库。

Trino是一个活跃且经常发布新版本的开源项目。使用最新版本时,你可以获得最新特性、bug修复和性能提升。在编写本书时,Trino的最新版本是392,所以本书内容也使用和参考了这一版本。如果你使用一个更新版本的Trino,它的工作原理应该和本书中描述的一样。尽管你不太可能遇到问题,但对于任何修改,参考发布记录和文档的内容仍然非常重要。

1.4.5 贡献

如前所述,Trino是一个社区驱动的开源项目,我们欢迎并鼓励你为其贡献自己的力量。这个项目的社区聊天室非常活跃,你可以随时向代码提交者和其他开发者寻求帮助。

下面是在贡献代码之前需要完成的一些任务:

•查看文档中的开发者导引(Developer Guide)章节。

•从README文件中学习从源代码构建项目的方法。

•在官方网站的社区(Community)页面找到研究论文的链接,并阅读研究论文。

•在同一个页面上浏览行为守则(Code of Conduct)。

•找到一个标记为good first issue标签的问题。

•签署贡献者授权协议(Contributor License Agreement,CLA)。

Trino项目持续接受各种复杂度的贡献:从小的文档提升到新的连接器或者其他插件,一直到深入Trino内部的深层改进等。

当然,社区欢迎你使用Trino或围绕Trino做的任何工作。这类工作当然也包括一些看似不相关的贡献,如写博客文章、参加用户组的会议或研讨会、自己编写和维护插件(也许是用来连接你自己使用的一个数据库系统)等。

总之,我们鼓励你和Trino团队一起工作并参与进来,这个项目的成长和繁荣有赖于每个人的贡献。我们也时刻准备着帮助你。

1.4.6 本书资源

为了方便读者,我们在Git代码库中提供了一些有关本书的资源,如配置文件示例、SQL查询、数据集等。

https://github.com/trinodb/trino-the-definitive-guide上可以找到它,然后以压缩文件的方式下载,或者用git克隆存储库。

如果遇到任何问题,请随时为任何更正、所需的添加或文件问题创建一个pull request。

1.4.7 鸢尾花数据集

在本书后面的章节中,你将遇到有关鸢尾花和鸢尾花数据集的查询示例和使用场景。该数据集广为人知,常用于数据科学中有关分类的例子。

该数据集包含一个简单的表,该表有150条记录,以列的形式提供了萼片长度、萼片宽度、花瓣长度、花瓣宽度和物种的值。

这个数据集非常小,可以让用户方便地测试和执行查询,并完成一系列广泛的分析任务。因此,该数据集非常适合学习使用,包括体验Trino的功能。你可以从维基百科上了解有关此数据集的更多信息。

本书的仓库包含一个名为iris-data-set的目录。该目录中存放着以逗号分隔值(CSV)格式保存的数据,还包含用于创建表并将数据插入的SQL文件。读完第2章和3.1节后,以下指令将非常容易操作。

要使用鸢尾花数据集,你可以先复制etc/catalog/brain.properties文件到Trino的安装路径下并重启Trino。

现在,你可以使用Trino CLI将数据导入brian目录(catalog)的default模式的iris表中:

确认数据可以查询:

你还可以使用任何可以连接到Trino的SQL管理工具来运行查询,如3.2节介绍的Java Database Connectivity(JDBC)驱动。

第8章和第9章包含一些使用此数据集的查询案例,6.9节提供了有关brian目录中使用的内存连接器的信息。

1.4.8 航班数据集

与鸢尾花数据集类似,本书后面还将介绍航班数据集的查询案例和使用场景。这一数据集比鸢尾花数据集稍微复杂一些,它包含关于航空公司、机场及其他信息的多个查询表,也包含有关特定航班的业务数据。这使得此数据集适用于使用join操作的更复杂的查询和联邦查询(其中不同表位于不同的数据源)。

此数据集的数据来自美国联邦航空管理局(FAA),专用于分析。flights表的schema比较大,表1-1展示了其中的一部分列。

表1-1:可用列的子集

数据集中的每一行表示从美国机场起飞或到达美国机场的航班。

本书资源(见1.4.6节)中包含一个单独的文件夹——flight-data-set。它包含了如何将数据导入不同的数据库系统的说明,以便你可以将它们连接到Trino并运行示例查询。