hive执行到mr的过程
- hive SQL 经过SQL parser 语义解释器,然后生成AST(抽象语法树)
- 接着编译器AST生成逻辑执行计划
- 优化器对逻辑执行计划进行优化(优化合并不必要的ReduceSinkOperator)减少shuffle数量
- 执行器再对逻辑执行计划进行实际的执行,即MR和Spark
- 可使用explain命令查看语法树
- 细说就是Antlr定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象语法树AST Tree 遍历AST Tree,抽象出查询的基本组成单元QueryBlock ,遍历QueryBlock,翻译为执行操作树OperatorTree 逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量 遍历OperatorTree,翻译为MapReduce任务 物理层优化器进行MapReduce任务的变换,生成最终的执行计划