Presto
presto是由一个Coordinator和多个worker组成的。
Presto工作流程
1)客户端提交查询,从Presto命令行提交到coordinator
2)coordinator解析查询命令,分发到worker
3)woker根据负责执行和处理数据
4)woker处理的数据源叫catalog,包含schema和connector
5)connector是用来适配数据源的适配器,schema里面也有table,类似于mysql的表
6)将worker获得的数据返回到client
优缺点
- 优点:
1)基于内存的,没有diskIO
2)可以跨框架查询,比如同时查询hive和sql - 缺点:
1)因为采取边读边计算的思路,所以内存本身不会很占用,但是连表查询就会产生大量的临时数据,会比hive的效率低。
和Impala对比
相对而言效率要稍微比impala慢一点,但是presto支持跨数据库,因此泛用度更高
使用
- 配置数据源需要在etc下创建一个catalog,并且配置指定数据源的properties文档