Hivesql ->mapreduce 简单的可以分为六个阶段:
1、SQL词法,语法解析生成抽象语法树AST Tree Antrl定义了SQL语法规则,完成SQL词法、语法解析,将SQL转化为抽象语法树AST Tree,树上的每个节点就是一个ASTNode;
2、遍历AST Tree,抽象出查询的基本组成单元QueryBlock QueryBlock就是一个子查询
Select * from (select * from b) a;
QueryBlock1:select * from b;
QueryBlock2:select * from a;
3、遍历QueryBlock,翻译成执行操作树OperatorTree
4、逻辑层优化器进行OperatorTree变化,合并不必要的ReduceSinkOperator,减少shuffle数据量
5、遍历OperatorTree&#