大数据高频面试题之HiveSQL的转化过程
Hive是如何将SQL转化为MapReduce任务的,整个编译过程分为六个阶段:1.Antlr定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象语法树AST Tree;2.遍历AST Tree,抽象出查询的基本组成单元QueryBlock;3.遍历QueryBlock,翻译为执行操作树OperatorTree;4.逻辑层优化器进行OperatorTree变换,合并不必要的Reduc
·
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任务的变换,生成最终的执行计划。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)