(5)hadoop学习——hive是什么?

Hive——hdfs上的数据仓库

hive的架构主要分为以下几部分:

Driver组件:它的作用是将我们写的HiveQL(类SQL)语句进行解析、编译优化,生成执行计划,然后调用底层的mapreduce计算框架。

Metastore组件:元数据服务组件,这个组件存储hive的元数据,hive的元数据存储在关系数据库里,hive支持的关系数据库有derbymysql

Thrift服务thriftfacebook开发的一个软件框架,它用来进行可扩展且跨语言的服务的开发,hive集成了该服务,能让不同的编程语调用hive的接口。  

Thrift客户端:下面的架构图里没有写上Thrift客户端,但是hive架构的许多客户端接口是建立在thrift客户端之上,包括JDBCODBC接口。

WEBGUIhive客户端提供了一种通过网页的方式访问hive所提供的服务。这个接口对应hivehwi组件(hive web interface),使用前要启动hwi服务。(用的较少)

如下图:



Driver组件

一个hql语句,提交之后,具体的执行步骤:
由上图可以看出,Driver具体分为解析器、编译器、优化器。
首先由解析器进行词法分析,如果不符合语法,直接报错。
符合语法之后则编译为MapReduce程序,优化器优化之后再hdfs上执行。
所以hive说穿了就是将开发人员的hql语句转换为MapReduce程序之后,处理hdfs上的数据,免去了开发人员开发MapReduce的成本,大大降低了使用hadoop的门槛。

Metastore组件

hive的元数据不像表里的数据存在hdfs上,而是存在关系型数据库中。hive默认的元数据库为derby数据库,存储hive的元数据。一般现实中会存在远程服务器的mysql数据库。hive的元数据记录的是表的基本信息和属性。

Thrift服务

能让不同的编程语调用hive的接口,支持jdbc和odbc。

Thrift客户端和WEBGUI

了解较少,在工作中暂未用过。


这篇主要介绍了hive的架构和组成部分,下一篇具体介绍hive的文件存储以及基本用法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值