大数据高频面试题之HiveSQL的转化过程

Hive是如何将SQL转化为MapReduce任务的,整个编译过程分为六个阶段:

1.Antlr定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象语法树AST Tree;

2.遍历AST Tree,抽象出查询的基本组成单元QueryBlock;

3.遍历QueryBlock,翻译为执行操作树OperatorTree;

4.逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量;

5.遍历OperatorTree,翻译为MapReduce任务;

6.物理层优化器进行MapReduce任务的变换,生成最终的执行计划。

你可能感兴趣的:(大数据面试,大数据,Hive,hive,sql,大数据,大数据面试,程序员面试)