一、介绍
Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。
Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。
推荐阅读
二、安装
2.1 安装步骤
- Java 版本为 1.8 以上,官方 JDK 下载地址
- 安装步骤按照官方文档执行就可以了
- Presto Documentation(英文)
- Presto 文档(中文)
- 配置数据源(连接器)
- 支持 MySQL、redis、Hive 等
- 配置步骤:Presto Documentation -- Connectors
- 下载命令行工具
tips: 日志位于 /etc/node.properties
文件配置的 node.data-dir
路径下。
2.2 安装常见错误
1. ERROR Announcer-1 io.airlift.discovery.client.Announcer Service announcement failed after 1.71ms. Next request will happen within 1.00ms
解决办法:将 config.properties
配置中 discovery.uri
域名换成 IP 即可。
2. Unrecognized VM option 'ExitOnOutOfMemoryError'
Did you mean 'OnOutOfMemoryError=<value>'?
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
解决办法:安装 JDK1.8
三、常用命令
3.1 基本命令
presto 分为 server 和 client。
- server
- 启动服务:
/安装path/bin/launcher start
- 停止服务:
/安装path/bin/launcher stop
- 启动服务:
- client
- 进入命令行交互模式:
./presto-cli --server 服务的ip:端口
- 进入命令行交互模式:
3.2 查询命令
presto 是一个 SQL 查询引擎,所以支持连接多个数据源,各种不同类型的数据仓库。所以对比于单纯的数据库就多了一些概念,下面就列举常用的概念和数据库的概念映射:
- catalogs -> 配置的数据仓库名称,不同的数据连接
- schemas -> 数据库 database
- tables -> 表 tables