hive的结构和执行流程

本文详细介绍了Hive的执行流程,包括驱动Driver的四个主要组件:解释器、编译器、优化器和执行器。解释器将HiveSQL转换为AST,编译器生成逻辑执行计划,优化器优化该计划,最后执行器将其转化为MapReduce任务在Hadoop集群上执行,通过ResourceManager和NodeManager协调数据处理。整个过程涉及到元数据验证、MapReduce任务生成及执行。
摘要由CSDN通过智能技术生成

hive的结构

hive执行流程

Hive 的核心驱动 Driver
(1) 解释器:解释器的作用是将 HiveSQL 语句转换为抽象语法树(AST)
(2) 编译器:编译器是将语法树编译为逻辑执行计划
(3) 优化器:优化器是将逻辑执行计划优化为更优逻辑计划
(4) 执行器:执行器是将逻辑计划切成对应引擎的可执行物理计划
 

执行流程简述

  • 1、客户端将查询的SQL发送给Driver以执行。
  • 2、在 Driver 中经过解释器将 hql 语句解析成抽象语法树 AST,比对 metaStore 中存储的元数据进行语法分析和校验,比如表存不存在、字段对不对等。
  • 3、经过编译器将抽象语法树转化为一个逻辑计划 (存储在 hdfs 中)。
  • 4、经过优化器对该逻辑计划进行优化, 更新为最优逻辑计划。
  • 5、经过执行器将逻辑计划切成对应引擎 mr 的可执行物理计划,生成 MapReduce 任务并通过物理优化器优化后,运行在 hadoop 集群上,在内部,执行任务的过程是MapReduce Job。执行引擎将Job发送到ResourceManager,ResourceManager位于Name节点中,并将job分配给datanode中的NodeManager。在这里,查询执行MapReduce任务。在执行的同时,执行引擎可以使用Metastore执行元数据操作。
  • 执行引擎将从datanode上获取结果集,并将这些结果值发送给Driver,Driver将结果发送到客户端。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值