深入浅出解析Hive?

     Hive是Apache(ASAF)官方提出的一个基于HDFS文件系统的一个外围小工具。我们称之为“数据仓库”。数据仓库意思就是存储数据的地方。实则不然,他并不存储数据!他的文件数据都存在HDFS上。当然除了HIVE本身的那些元数据以外(后面会讲到)。那么笔者认为,Hive的意思就是提供了一个工具、一个渠道,一个方式,一个概念,通过它去操作HDFS的数据,包括上传、下载、导入、导出等。

那么Hive的工作原理是什么呢?Hive提供了类SQL的语句功能-HQL。执行HQL语句,Hive能够将这种支持本身功能的HQL语句转换为Hadoop的MapReduce程序。这是程序自己完成的。也就是说,我们只要懂SQL语句,那么我们就能完成对HDFS文件系统上的操作。对吧。因此,对于初级开发者或者运维人员来说,就不要再去写复杂的MR代码了,也不用去考虑它自己的运行框架、简化了我们的开发运维工作。因为,只需要用它就可以完成了类似的大数据系统平台的操作。

实际生产中,我们的Hive的选择,要根据Hadoop的安装版本来决定,一般都匹配一致的版本。比如Apache hadoop---> Apache Hive. 比如  CDH hadoop ---> CDH hadoop hive.注意一定是对应的。

Hive的安装前提:

      hive 安装的机器要能保证能访问到HDFS集群,可以是单独的机器,也可以是复合使用的机器。只要满足这点就可以了。

Hive为什么要跟Mysql、Oracle这种关系型数据进行整合连接呢?

 其实Hive本身是可以不要这些外用的数据库的。因为Hive本身在安装的时候就自身存在元数据信息了,它的元数据信息存在自身的内嵌的derby数据库里,这是Hive本身自己自带的。但是它呢有2个缺点,它支持单个客户端连接,就是我执行一个Hive或者Hive-server它就饱和了。你再打开一个终端,它就报错。第二个缺点就是它无法集中管理它的Metadata。我开一个终端,他就再当前目录下存放元数据。想想多麻烦,数据无法集中等于信息无法实时的更新。等于HIve没用。

因此,我们就需要一个外用的、支持多用户的、元数据集中管理的这样一个数据库软件,那么Mysql、Oracle的作用就来了......Hive支持JDBC、ODBC的方式进行连接

说了这么多,Hive这么强大,它的应用场景是什么?缺点如何?

   Hive并不是一个存储框架 他的数据存在HDFS、其实就是类似于一个hadoop的客户端。能写能读的一个客户端。HIve装一个就可以了,它又不存储数据,它又不计算、因为延迟比较高,适合离线分析。不太适应实时性的场合、支持读多写少的一款数据分析工具。它自动生成MR程序,效率比较低。

好,今天就分享这篇,安装部署细节很简单,操作也简单。适合大家学学。

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值