0、整体概览
1、客户端
功能:负责与用户进行交互
- 用户在客户端上开发SQL
- 客户端将SQL语句提交给Hive的服务来解析并执行
- 客户端负责显示服务端处理好的结果
2、服务端
功能:负责接受客户端的请求,将客户端提交的SQL进行解析,主要为两部分功能:
计算:封装成MapReduce程序,提交给YARN运行
存储:实现表的定义、与HDFS文件的关联
连接器
:负责构建与客户端 的连接管理解析器
:负责 解析整个SQL语句,也会做验证,表是否存在,语法是否正确- 解析器最终得到一个解析以后的语法树
逻辑计划
:将SQL语句中的解析出来的语法数,变成对应的参数,赋予底层的MapReduce构建逻辑执行计划优化器
:根据要实现的效果,选择一种最优的方式来构建物理计划物理计划
:最终完整的Mapre程序提交运行
:将程序提交给YARN
3、元数据
- 负责存储HDFS文件与表的映射关系
- 负责存储Hive中所有数据库、表、字段、分隔符等信息
4、Hadoop
- HDFS :Hive中所有表数据的
存储
,提供读写 - YARN :负责实现Hive 中程序的运行
计算