一、概念
- Pressto时一个开源的分布式SQL查询引擎,数据量支持GB到PB字节,主要用来处理秒级查询的场景
- 虽然Pressto可以解析SSQL,但它不是一个标准的数据库,不是MySQL、Oracle的代替品,也不能用来出来在线事务(OLTP)
1.1 Presto架构
- Coordinator:决策者 -> 解析成MR
- Worker:工作者 -> 跑任务
- Connector:不同的数据源 不用的Connector
- Catalog:一个数据源叫做Catalog
1.2 Presto优缺点
- 基于内存
- 跨数据源联表查询(支持Hive join MySQL的联表查询等)
- 缺点:对于连表查询,可能产生大量的临时i数据,因此速度会变慢
1.3 Presto、Impala性能比较
具体比较:https://blog.csdn.net/u012551524/article/details/79124532
测试结论:Impala性能稍领先于Presto,但是Presto在数据源支持上非常丰富,包括Hive、图数据库、传统关系型数据库、Redis等。
二、安装Presto Server
2.1 地址
官网地址:https://prestodb.github.io/
下载地址:https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.196/presto-server-0.196.tar.gz
2.2 解压Presto Server
tar -zxvf presto-server-0.196.tar.gz -C /opt/module/
2.3 创建存储数据文件夹
进入到/opt/module/presto目录,并创建存储数据文件夹
mkdir data
2.4 创建存储配置文件文件夹
进入到/opt/module/presto目录,并创建存储配置文件文件夹
mkdir etc
2.5 添加配置文件
配置在/opt/module/presto/etc目录下添加jvm.config配置文件
vim jvm.config
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
2.6 配置数据源
Presto可以支持多个数据源,在Presto里面叫catalog,这里我们配置支持Hive的数据源,配置一个Hive的catalog
[atguigu@hadoop102 etc]$ mkdir catalog
[atguigu@hadoop102 catalog]$ vim hive.properties
connector.name=hive-hadoop2
hive