大数据技术--Presto

Presto--dws层

1.概述

分布式SQL查询引擎。Presto旨在处理数据仓库和分析:数据分析、聚合大量数据和生成报告。这些工作负载通常被分类为联机分析处理(OLAP)

2.系统架构

presto集群是master worker架构,有如下几个组件:

1.Coordinator:

用来解析语句,执行计划分析和管理 Presto 的 Worker 节点Presto 安装必须有一个 Coordinator 和多个 Worker。如果用于开发环境和测试,则一个 Presto 实例 可以同时担任这两个角色。

Coordinator 跟踪每个 Work 的活动情况并协调查询语句的执行Coordinator 为每个查询建立模型,模型包含多个Stage,每个Stage再转为Task 分发到不同的 Worker 上执行。

  1. Discovery server:只能有一个,负责维护coordinator和worker节点关系,worker节点启动后向discovery service服务注册,coordinator通过discovery service获取注册的worker节点以及catalog,通常内嵌于coordinator节点中。

  2. Worker:负责执行任务和处理数据。Worker 从 Connector 获取数据。Worker 之间会交换中间数据。Coordinator 是负责从Worker 获取结果并返回最终结果给 Client。当 Worker 启动时,会广播自己去发现 Coordinator,并告知 Coordinator 它是可用,随时 可以接受 Task。

  3. Catalog:一个 Catelog 包含 Schema 和 Connector,对应了某一类的数据源

  4. Connector:适配器,用于 Presto 和数据源(如 Hive、RDBMS)的连接,每个 Catalog 都有一个特定的 Connector

  5. Schema:用于组织 table。把 catelog 和 schema 结合在一起来包含一组的表,Schema对应了某一类数据源的数据库

  6. Table: 跟关系型的表定义一样,但数据和表的映射是交给 Connector。

3.SQL执行流程

  1. 解析器:coordinator接收到SQL之后,通过解析器将SQL转换成抽象语法树AST

  2. 逻辑计划器:SQL语法正确,会通过connector将meta表中的schema、列名、列的数据类型进行对比是否与SQL中一致,对性能进行优化,生成逻辑执行计划,

  3. 分发计划器:将逻辑执行计划进行分布式解析分发到执行器中

  4. 执行器:将逻辑执行计划转换成物理执行计划分发到对应的worker中去执行

4.MapReduce vs Presto

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值