Apache Presto 简明教程
Apache Presto - Architecture
Presto 的架构几乎类似于经典 MPP(海量并行处理)DBMS 架构。下图说明了 Presto 的架构。
上述图表包含不同的组件。下表详细描述了每个组件。
S.No |
Component & Description |
1. |
Client 客户端(Presto CLI)向协调器提交 SQL 语句以获得结果。 |
2. |
Coordinator 协调器是一个主守护进程。协调器最初解析 SQL 查询,然后分析并计划查询执行。调度程序执行管道执行,将工作分配给最接近的节点并监控进度。 |
3. |
Connector 存储插件被称为连接器。Hive、HBase、MySQL、Cassandra 及其他许多都充当连接器;否则你也可以实现一个自定义连接器。连接器为查询提供元数据和数据。协调器使用连接器获取元数据来构建查询计划。 |
4. |
Worker 协调器将任务分配给工作节点。这些工作节点从连接器获取实际数据。最后,工作节点将结果传递给客户端。 |
Presto − Workflow
Presto 是一个分布式系统,在集群的节点上运行。Presto 的分布式查询引擎经过优化,适用于交互分析,并支持标准 ANSI SQL,包括复杂查询、聚合、连接和窗口函数。Presto 架构简单而可扩展。Presto 客户端(CLI)向一个主守护进程协调器提交 SQL 语句。
调度器通过执行管道连接。调度器会将工作分配给最靠近数据且可以监控进度的节点。协调器将任务分配给多个工作节点,最终工作节点将结果返回给客户端。客户端从输出进程获取数据。可扩展性是一项主要的设计要点。像 Hive、HBase、MySQL 等可插入连接器可为查询提供元数据和数据。Presto 采用“简单存储抽象”进行设计,使针对不同类型数据源提供 SQL 查询功能变得容易。