前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试篇:Hive Sql转换成MapReduce的过程

面试篇:Hive Sql转换成MapReduce的过程

作者头像
伊泽瑞尔
发布2022-06-01 08:43:13
1.4K0
发布2022-06-01 08:43:13
举报

一、Hive的整体架构图

其中compiler部分负责把HiveSQL转换成MapReduce任务。

二、转换过程

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任务的变换,生成最终的执行计划。

总结:HiveSQL ->AST(抽象语法树) -> QB(查询块) ->OperatorTree(操作树)->优化后的操作树->mapreduce任务树->优化后的mapreduce任务树。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与知识图谱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档