> 电器
大数据开发工程师面试问题(大数据开发工程师笔试题)
导语:大数据开发工程师-面试题-Hive(Hive的SQL转化MapReduce任务过程)
Hive是如何将SQL转化为MapReduce任务的,整个编译过程分为6个阶段:
(1)将SQL字符串转换成抽象语法树(AST Tree),这一步一般都用第三方工具库完成,比如Antlr;
(2)遍历抽象语法树(AST Tree),抽象出查询的基本组成单元(QueryBlock);
(3)遍历QueryBlock,翻译为执行操作树(OperatorTree);
(4)利用逻辑层优化器对操作树(OperatorTree)进行变换,合并不必要的ReduceSinkOperator,减少Shuffle数据量;
(5)遍历操作树(OperatorTree),翻译为MapReduce任务;
(6)利用物理层优化器对MapReduce任务进行变换,生成最终的执行计划;
(每日1小题,进步1点点)
本文内容由快快网络小开整理编辑!