Presto - 调试环境搭建

643 阅读1分钟

1. 背景

Presto是一个facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。注意presto目前只是数据查询engine,并没有提供数据存储的能力;presto查询的数据可以保存在hive、mysql、文件中,Prestor通过Connector连接各个数据存储,读取数据,执行用户的查询意图,最终返回给用户结果;

2. PrestoDB和Presto SQL(trino)

Presto有两个分支,目前PrestoDB和Presto SQL(trino),分别由两个社区维护,为啥会产生两个分支原因可以自行Google,目前trino活跃度更胜一筹;笔者的所有代码分析都是基于trino-352这个tag; github.com/trinodb/tri…

3. 环境搭建

  • 下载代码 github.com/trinodb/tri…
  • java 11
  • 执行mvn clean install -T 8 -Dmaven.test.skip=true
  • 打开idea,进行如下配置,然后启动trinodb image.png

4. presto 使用mysql作为数据源(hive类似)

在 trino-server-main module下,修改mysql.properties, 设置mysql需要的连接信息

connector.name=mysql
connection-url=jdbc:mysql://127.0.0.1:3306?useSSL=false
connection-user=username
connection-password=password

5.客户端连接

打开模块 trino-cli/target目录,执行:./trino-cli-352-executable.jar;便可以执行命令 image.png

至此便搭建好了一个presto的本地调试环境,可以用presto查询保存在mysql中的数据;