更新时间:2023-03-17 GMT+08:00

Presto

Presto是一个开源的用户交互式分析查询的SQL查询引擎,用于针对各种大小的数据源进行交互式分析查询。其主要应用于海量结构化数据/半结构化数据分析、海量多维数据聚合/报表、ETL、Ad-Hoc查询等场景。

Presto允许查询的数据源包括Hadoop分布式文件系统(HDFS),Hive,HBase,Cassandra,关系数据库甚至专有数据存储。一个Presto查询可以组合不同数据源,执行跨数据源的数据分析。

图1 Presto架构

Presto分布式地运行在一个集群中,包含一个Coordinator和多个Worker进程,查询从客户端(例如CLI)提交到Coordinator,Coordinator进行SQL的解析和生成执行计划,然后分发到多个Worker进程上执行。

Presto多实例

MRS支持为大规格的集群默认安装Presto多实例,即一个Core/Task节点上安装多个Worker实例,分别为Worker1,Worker2,Worker3… ,多个Worker实例共同与Coordinator交互执行计算任务,相比较单实例,能够大大提高节点资源的利用率和计算效率。

Presto多实例仅作用于ARM架构规格,当前单节点最多支持4个实例。