| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 关于MySQLPostgreSQLImpalaSpark的执行计划-总结 -> 正文阅读 |
|
[大数据]关于MySQLPostgreSQLImpalaSpark的执行计划-总结 |
执行/查询计划老外有三种叫法:Execution plan/query explanation paln/query plan1。这个概念起源于关系型数据库,后来开源OLAP引擎同样follow了RDB的传统,实现了查询计划 ??:执行计划是优化器/执行器打算访问数据的步骤,所以实际并没有真的执行 1-MySQL 执行计划下图是MySQL的执行计划2的例子
MySQL更加详细执行计划输出3,Oracle官网有详细的描述,可前往查看 2-PostgreSQL执行计划上图是PostgreSQL的执行计划4的例子,①图和②图的区别是②中增加了
PostgreSQL的执行计划输出,PostgreSQL官网67有详细的描述,可前往查看 3-impala执行计划关于impala本身,你必须知道它是一个MPP SQL引擎。impala的执行计划官网上描述的很少,全是俗媚的描述性内容,参考意义不大,阅读impala paper8,观看cloudera出品的教学视频9 是一个更上头的操作,要区分impala的execution plan和execution profile,前者是未执行就可获知,后者需要执行后才能获取 3.1-impala SQL查询流和impala逻辑视图下图中上半部分来于视频,下半部分来自于论文 就上图做以下几点说明: 1?? 从SQL查询流中可看出,客户端提交的SQL会被Impala前台编译为执行计划,再交给impala后台执行,最后将查询结果/查询简介返回给客户端 2?? 从Impala逻辑视图中看出,impala逻辑上分为3个模块(虚线圈出):元数据模块+执行模块+存储模块 3?? 上图的下半部分展示了一个SQL在impala的整个生命周期(序号标记了整个生命周期) 3.2-impala执行计划的2个阶段上图(上半部分来源于视频,下半部分来源于论文)展示了Impala的执行计划分为2个阶段, 🅰?single node plan : 单机上的执行计划 🅱?distributed node plan : 分布式执行计划,全局内 哪些查询是并行的,哪些是需要数据交换(exchance)的 可以看到distributed plan相对于single plan增加了Exchange,这是因为如果数据分布在不同的节点上,我们需要使用使用类似Grace Hash Join的方式使得相同的key去往同一个节点,这个类似Hive/Spark中shuffle的行为,在impala中标记为exchange,在Spark中也被标记为exchange 4-Spark执行计划Spark中SQL(DataSet,DataFrame,Cypher)的解析,分析,优化等都是由Catalyst1011完成的,下图是Catalyst的逻辑视图
以上就是关于执行计划的一个不深不浅的描述,欢迎吐槽,欢迎关注公众号 :stackoverflow 🔞Reference
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:01:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |