Hive的HSQL转换为MapReduce的过程

Hive的HSQL转换为MapReduce的过程,第1张

Hive的HSQL转换为MapReduce的过程

HiveSQL ->AST(抽象语法树) -> QB(查询块) -> OperatorTree( *** 作树) ->优化后的 *** 作树 ->mapreducer任务树 -> 优化后的mapreducer任务树

Parser:将HQL转化成抽象语法树

SemanticAnalyzer:将抽象语法书换成查询块

LogicPlanGenerator:将查询块转化成查询计划

LogicalOptimizer:重写逻辑查询计划

PhysicalPlanGenerator:将逻辑计划转换成物流计划(M/R jobs)

PhysicalOptimizer: 选择最佳的侧略

过程描述如下:

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

Semantic Analyzer:遍历AST Tree,抽象出查询的基本组成单元QueryBlock;

Logical plan:遍历QueryBlock,翻译为执行 *** 作树OperatorTree;

Logical plan optimizer:逻辑层优化器进行Operator Tree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量;

Physical plan:遍历Operator Tree,翻译为MapReduce任务;

Logical plan optimizer:物理层优化器进行MapReduce任务的变换,生成最终的执行计划;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5682821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存