Presto 学习笔记

Presto是由Facebook开发的一个分布式SQL查询引擎, 它被设计为用来专门进行高速、实时的数据分析。它的产生是为了解决Hive的MapReduce模型太慢以及不能通过BI或Dashboards直接展现HDFS数据等问题。Presto是一个纯粹的计算引擎,它不存储数据,其通过Connector获取第三方Storage服务的数据。第三方Storage服务的数据,除了前述的Hive,Presto 还支持查询CASSANDRA、Kafka、MySQL、MonogoDB、Redis、JMX 等数据源。
下图反应了 Presto 的主要组件和工作流程。
Presto 查询流程

Discovery Server 实际上是集群管理的角色,通常内嵌在 Coordinator 节点;Coordinator 负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行;Worker节点: 负责实际执行查询任务,负责与HDFS交互读取数据 。
各个组件分工明确,相互协作。Worker节点启动后向Discovery Server服务注册,Coordinator从Discovery Server获得可以正常工作的Worker节点。如果配置了Hive Connector,需要配置一个Hive MetaStore服务为Presto提供Hive元信息,Worker 节点与 HDFS 交互读取数据。

你可能感兴趣的:(大数据)