搜索
写经验 领红包
 > 电器

大数据开发工程师面试问题(大数据开发工程师笔试题)

导语:大数据开发工程师-面试题-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点点)

本文内容由快快网络小开整理编辑!