Hive 执行流程简述
Hive 的架构
Hive 的核心驱动 Driver
(1) 解释器:解释器的作用是将 HiveSQL 语句转换为抽象语法树(AST)
(2) 编译器:编译器是将语法树编译为逻辑执行计划
(3) 优化器:优化器是对逻辑执行计划进行优化
(4) 执行器:执行器是调用底层的运行框架执行逻辑执行计划
执行流程简述
- 首先客户端或者命令行提交 hql 语句
- 在 Driver 中经过解析器将 hql 语句解析成抽象语法树,比对 metaStore 中存储的元数据
(进行类型判断与语法分析 ) - 经过解释器将 hql 转化为一个逻辑计划,该逻辑计划存储在 hdfs 中
- 经过优化器对其进行优化
- 由执行器调用底层执行框架执行该最优逻辑计划
- 生成 MapReduce 任务,运行在 hadoop 集群上