分享

让你真正明白什么是hive

 
pig2 2014-4-16 17:46:19 发表于 推荐型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 69 132608
导读:
对于一个事物的认识,存在几种情况
1.没有接触,不知道这个事物是什么,所以不会产生任何问题。
2.接触了,但是不知道他是什么,反正我每天都在用。
3.有一定的了解,不够透彻。
那么hive,
1.我们对它了解多少?
2.它到底是什么?
3.hive和hadoop是什么关系?
扩展:
hbase和hive是什么关系?



Hive最初是应Facebook每天产生的海量新兴社会网络数据进行管理和机器学习的需求而产生和发展的。那么,到底什么是Hive,我们先看看Hive官网Wiki是如何介绍Hive的(https://cwiki.apache.org/confluence/display/Hive/Home):
The Apache Hive data warehouse software facilitates querying and managing large datasets residing in distributed storage. Built on top of Apache HadoopTM, it provides:
  (1)、Tools to enable easy data extract/transform/load (ETL)
  (2)、A mechanism to impose structure on a variety of data formats
  (3)、Access to files stored either directly in Apache HDFSTM or in other data storage systems such as Apache HBaseTM
  (4)、Query execution via MapReduce



上面英文的大致意思是:

Apache Hive数据仓库软件提供对存储在分布式中的大型数据集的查询和管理,它本身是建立在Apache Hadoop之上,主要提供以下功能:
(1)它提供了一系列的工具,可用来对数据进行提取/转化/加载(ETL);
(2)是一种可以存储、查询和分析存储在HDFS(或者HBase)中的大规模数据的机制;
(3)查询是通过MapReduce来完成的(并不是所有的查询都需要MapReduce来完成,比如select * from XXX就不需要;
(4)在Hive0.11对类似select a,b from XXX的查询通过配置也可以不通过MapReduce来完成


上面的意思很明白了.这里再给他提炼一下:
1.hive是一个数据仓库
2.hive基于hadoop。
总结为一句话:hive是基于hadoop的数据仓库。

那么上面”基于“如何讲,看下面


Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理;
(也就是说对存储在HDFS中的数据进行分析和管理,我们不想使用手工,我们建立一个工具把,那么这个工具就可以是hive)


到此,我们已经明白hive是什么,想更深一步的了解,可查看下面内容。





那么,我们如何来分析和管理那些数据呢?
  Hive定义了一种类似SQL的查询语言,被称为HQL,对于熟悉SQL的用户可以直接利用Hive来查询数据。同时,这个语言也允许熟悉 MapReduce 开发者们开发自定义的mappers和reducers来处理内建的mappers和reducers无法完成的复杂的分析工作。Hive可以允许用户编写自己定义的函数UDF,来在查询中使用。Hive中有3种UDF:User Defined Functions(UDF)、User Defined Aggregation Functions(UDAF)、User Defined Table Generating Functions(UDTF)。

  今天,Hive已经是一个成功的Apache项目,很多组织把它用作一个通用的、可伸缩的数据处理平台。
  当然,Hive和传统的关系型数据库有很大的区别,Hive将外部的任务解析成一个MapReduce可执行计划,而启动MapReduce是一个高延迟的一件事,每次提交任务和执行任务都需要消耗很多时间,这也就决定Hive只能处理一些高延迟的应用(如果你想处理低延迟的应用,你可以去考虑一下Hbase)。同时,由于设计的目标不一样,Hive目前还不支持事务;不能对表数据进行修改(不能更新、删除、插入;只能通过文件追加数据、重新导入数据);不能对列建立索引(但是Hive支持索引的建立,但是不能提高Hive的查询速度。如果你想提高Hive的查询速度,请学习Hive的分区、桶的应用)。


本帖被以下淘专辑推荐:

已有(69)人评论

跳转到指定楼层
阿飞 发表于 2014-5-8 13:32:52
数据仓库这个词,对与传统开发人员来讲,是有些难以理解的,什么是数据仓库?
如果我们语文水平比较好的话,应该知道,仓库是用来做什么的,仓库是用来存储的,比如粮食仓库,这里的数据仓库与粮食仓库没有什么区别,只不过存放的内容不一样而已
上面是白话的理解,相信下面的理解就是自然而然的了。下面在讲讲他们的正式定义:
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

回复

使用道具 举报

pig2 发表于 2014-4-16 18:05:19
本帖最后由 pig2 于 2014-4-16 18:06 编辑

同时补充一下hive与hbase的联系与区别:
共同点:
1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储

区别:

2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。
3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。
4.Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。
5.Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑。
6.hive借用hadoop的MapReduce来完成一些hive中的命令的执行
7.hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
8.hbase是列存储。
9.hdfs作为底层存储,hdfs是存放文件的系统,而Hbase负责组织文件。
10.hive需要用到hdfs存储文件,需要用到MapReduce计算框架。


回复

使用道具 举报

pride1000 发表于 2014-5-16 14:52:52
这个一定要学一下才能搞数据挖掘的吧
回复

使用道具 举报

lanfen 发表于 2014-5-19 10:52:44
"数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 "
这句还是太理解~~~        是说 hive 存储的一般是历史数据么?
回复

使用道具 举报

lanfen 发表于 2014-5-19 10:53:44
阿飞 发表于 2014-5-8 13:32
数据仓库这个词,对与传统开发人员来讲,是有些难以理解的,什么是数据仓库?
如果我们语文水平比较好的话 ...

数据仓库存储的一般是历史数据


那么hive  在hadoop 应用中具体用来充当什么角色呢?
回复

使用道具 举报

pig2 发表于 2014-5-19 13:04:56
lanfen 发表于 2014-5-19 10:53
数据仓库存储的一般是历史数据

首先你明白数据仓库的意思。那么hive数据以HDFS文件的形式存储  ,这就是他们之间的关系,其他数据仓库可能需要转换。
回复

使用道具 举报

pig2 发表于 2014-5-19 13:06:46
pig2 发表于 2014-5-19 13:04
首先你明白数据仓库的意思。那么hive数据以HDFS文件的形式存储  ,这就是他们之间的关系,其他数据仓库可 ...

看了下面相信你就明白了

共同点:
1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储

区别:
2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。
3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。
4.Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。
5.Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑。
6.hive借用hadoop的MapReduce来完成一些hive中的命令的执行
7.hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
8.hbase是列存储。
9.hdfs作为底层存储,hdfs是存放文件的系统,而Hbase负责组织文件。
10.hive需要用到hdfs存储文件,需要用到MapReduce计算框架。

来源:http://www.aboutyun.com/blog-61-71.html
回复

使用道具 举报

lanfen 发表于 2014-5-19 13:29:28
回复

使用道具 举报

hery 发表于 2014-9-30 13:42:45
讲的不错啊。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条