Hive学习

目录

9.2 Hive系统架构

9.3 Hive工作原理

 9.3.1 SQL语句转换成MapReduce作业的基本原理

9.3.2 Hive中SQL查询转换成MapReduce作业的过程

9.4 Hive HA基本原理


9.2 Hive系统架构

9.3 Hive工作原理

Hive执行引擎可以是MapReduce、Tez或Spark,这里只介绍MapReduce作为执行引擎时的Hive工作原理。主要包括下面两个内容:

 9.3.1 SQL语句转换成MapReduce作业的基本原理

9.3.2 Hive中SQL查询转换成MapReduce作业的过程

当用户向 Hive 输入一段命令或查询时, Hive 需要与 Hadoop 交互工作来完成该操作 :
Ø 驱动模块 接收该 命令或查询编译器
Ø 对该 命令或查询进行解析编译
Ø 由 优化器对 该 命令或查询进行优化计算
Ø 该 命令或查询通过执行器进行 执行
几点说明:
当启动 MapReduce 程序时, Hive 本身是不会生成 MapReduce 算法程序的
需要通过一个表示“ Job 执行计划”的 XML 文件驱动执行内置的、原生的 Mapper 和 Reducer 模块
Hive 通过和 JobTracker 通信来初始化 MapReduce 任务,不必直接部署在 JobTracker 所在的管理节点上执行
通常在大型集群上,会有专门的网关机来部署 Hive 工具。网关机的作用主要是远程操作和管理节点上的 JobTracker 通信来执行任务
数据文件通常存储在 HDFS 上, HDFS 由 名称 节点管理

9.4 Hive HA基本原理