presto官网文档:https://prestodb.github.io/getting-started.html
一、Presto介绍
Apache Presto 是一个开源的分布式 SQL 查询引擎,它可以在大数据环境下进行交互式的数据分析。Presto 允许用户使用熟悉的 SQL 语法在不同的数据源上进行查询,比如 Hive、Cassandra、PostgreSQL、Kafka、MySQL、ElasticSearch 等,让用户可以在不同数据源上进行统一查询。
二、架构
Presto 的架构由 Coordinator、Worker 和 Connector 三部分组成。
Coordinator进程 :接收来自客户端的查询,解析查询语句,生成查询计划,并把计划分发给 Workers 执行,任务调度,Woker管理;
Workers 进程:实际执行被分解的查询计划任务,并返回结果给 Coordinator;
Connector :则允许 Presto 连接到各种不同的数据源,让用户可以在单个查询中结合来自多个数据源的数据。
执行流程如下图所示: