博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

Hive的主要组件

Hive的主要组件

UI组件、Driver组件(Complier、Optimizer和Executor)、Metastore组件、CLI(Command Line Interface,命令行接口)、

JDBC/ODBC、Thrift Server和Hive Web Interface (HWI)等。,接下来分别对这几个组件进行介绍。

 

Drvier组件

该组件是Hive的核心组件,该组件包括Complier(编译器)、Optimizer(优化器)和Executor(执行器)它们的作用是对Hive SQL语句进
行解析、编译优化、生成执行计划,然后调用底层MR计算框架。


MetaStore组件
该组件是Hive用来负责管理元数据的组件。Hive的元数据存储在关系型数据库中,其支持的关系型数据库有Derby和mysql,其中
Derby是Hive默认情况下使用的数据库,它内嵌在Hive中,但是该数据库只支持单会话,也就是说只允许一个会话链接,所以在生产中并不适用,

其实在平时我们的测试环境中也很少使用。在我们日常的团队开发中,需要支持多会话,所以需要一个独立的元数据库,用的最多的也就是Mysql,而且Hive内部对Mysql提供了很好的支持。

CLl
Hive的命令行接口

 

Thrift Server

该组件提供JDBC和ODBC接入的能力,用来进行可扩展且跨语言的服务开发。Hive集成了该服务,能让不同的编程语言调用Hive的接口

 

 Hive Web Interface

该组件是Hive客户端提供的一种通过网页方式访问Hive所提供的服务。这个接口对应Hive的HWI组件,

Hive通过CLI,JDBC/ODBC或HWI接受相关的Hive SQL查询,并通过Driver组件进行编译,分析优化,最后编程可执行的MapReduce任务,但是具体里面是怎么执行的,看图:

 

posted @ 2022-06-17 09:42  CHANG_09  阅读(660)  评论(0)    收藏  举报