目录
第六章HIve SQL底层执行原理和源代码解析
6.1 HIve底层执行架构
在Hive这一侧,总共有5个组件:
-
UI:用户界面,可以看作我们提交SQL语句的命令行界面。
-
Driver:驱动程序。接受查询的组件,该组件实现了会话句柄的概念。
-
Compile:编译器:负责将SQL转化为平台可执行的执行计划。对不同的查询块和查询表达式进行语义分析,并最终借助表和metastore查找的分区元数据来生成执行计划。
-
MetaStore:元数据库。存储Hive中各种表和分区的所有结构信息。
-
Execution Engine:执行引擎,负责提交compiler阶段编译好的执行计划到不同的平台上。
上图的基本流程是:
-
UI调用driver的接口;
-
driver为查询创建会话句柄,并将查询发送到Compiler(编译器)生成执行计划;
-
编译器从元数据存储中获取本次查询所需的元数据,该数据用于对查询树中