Hive的系统架构
- Hive主要由以下三个模块组成
- 用户接口模块
- 驱动模块
- 元数据存储模块
架构解析
用户接口模块
- 用户接口模块的组成
主要包括:CLI、HWI、JDBC、ODBC、Thrift Server等。
CLI:是Hive自带的一个命令行界面,HWI是Hive的一个简单网页界面;
JDBC、ODBC以及Thrift Server可以向用户提供进行编程访问的接口。 - 功能
该模块主要用来实现外部应用对Hive的访问。
驱动模块(Driver)
-
驱动模块的组成
主要包括:编译器、优化器、执行器等。 -
功能
该模块负责把HiveSQL语句转换成一系列MapReduce作业,所有命令和查询都会进入到驱动模块,并且会被解析编译,对计算过程进行优化,之后会按照指定步骤执行。
元数据存储模块(Metastore)
-
元数据存储模块的组成
元数据存储模块时一个独立的关系型数据库,通常是MySql数据库实例,也可以是Hive自带的Derby数据库实例。 -
功能
该模块主要主要存储表模式及其他系统元数据。如表的名称、表的列及其属性、表的分区及属性、表的属性、表中数据所在位置信息等。
参考:
厦门大学林子雨编著-大数据技术原理与应用-电子书-第14章-基于Hadoop的数据仓库Hive(2016年4月6日版本).pdf