网站首页 > 资源文章 正文
一、Presto简介
Presto是Facebook开发的数据查询引擎,可对250PB以上的数据进行快速地交互式分析。
该项目始于 2012 年秋季开始开发,该项目已经在超过 1000 名 Facebook 雇员中使用,运行超过 30000 个查询,每日数据在 1PB 级别。Facebook 称 Presto 的性能比Hive要好上 10 倍有多。2013年Facebook正式宣布开源 Presto。
二、Presto 执行查询过程
Presto查询引擎是一个Master-Slave的架构,由一个Coordinator节点,一个Discovery Server节点,多个Worker节点组成,Discovery Server通常内嵌于Coordinator节点中。Coordinator负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行。Worker节点负责实际执行查询任务。Worker节点启动后向Discovery Server服务注册,Coordinator从Discovery Server获得可以正常工作的Worker节点。如果配置了Hive Connector,需要配置一个Hive MetaStore服务为Presto提供Hive元信息,Worker节点与HDFS交互读取数据。
1. Client 发送请求给 Coordinator。
2. SQL 语句通过 ANTLR 进行解析生成 AST。
3. AST 通过元数据进行语义解析。
4. 语义解析后的数据生成逻辑执行计划,并且通过规则进行优化。
5. 切分逻辑执行计划为不同 Stage,并调度 Worker 节点去生成 Task。
6. Task 生成相应物理执行计划。
7. 调度完后根据调度结果 Coordinator 将 Stage 串联起来。
8. Worker 执行相应的物理执行计划。
9. Client 不断地向 Coordinator 拉取查询结果,Coordinator 从最终汇聚输出的 Worker 节点拉取查询结果。
三、Presto 为何高性能?
* Pipeline, 全内存计算。
* SQL 查询计划规则优化。
* 动态代码生成技术。
* 数据调度本地化,注重内存开销效率,优化数据结构,Cache,非精确查询等其它技术。
获取更多Hadoop、HDFS、HBase、MapReduce、YARN、Hive等等技术内容,可访问Hadoop大数据技术专栏。
猜你喜欢
- 2024-11-23 火山引擎VeDI数据服务实践:API编排能力及电商场景应用
- 2024-11-23 数据库内核杂谈(三十七) - Velox 执行引擎(1)
- 2024-11-23 大数据ClickHouse(五):数据库引擎介绍与实例演示
- 2024-11-23 火山引擎流批数据质量解决方案和最佳实践
- 2024-11-23 自助搭建工作流的流程引擎梳理详解
- 2024-11-23 ByteHouse全新发布:除了ElasticSearch,全文检索引擎还能这样选
- 2024-11-23 字节跳动旗下火山引擎:正加强西部数据中心上下游产业链建设
- 2024-11-23 主流国产数据库的存储引擎
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)