欢迎投稿

今日深度:

Hive Hbase之间的区别和应用场景,hivehbase

Hive Hbase之间的区别和应用场景,hivehbase


作者:有点文
链接:https://www.zhihu.com/question/21677041/answer/185664626
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用。

一、区别:

  • 通过元数据来描述Hdfs上的结构化文本数据,通俗点来说,就是定义一张表来描述HDFS上的结构化文本,包括各列数据名称,数据类型是什么等,方便我们处理数据,当前很多SQL ON Hadoop的计算引擎均用的是hive的元数据,如Spark SQL、Impala等;
  • 基于第一点,通过SQL来处理和计算HDFS的数据,Hive会将SQL翻译为Mapreduce来处理数据;

二、关系

在大数据架构中,Hive和HBase是协作关系,数据流一般如下图:



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

他们的底层是要通过mapreduce分布式计算的,hbase、hive、pig底层都是这样的。但整体来说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中的表纯逻辑。hive需要用到hdfs存储文件,需要用到MapReduce计算框架。

6.hive借用hadoop的MapReduce来完成一些hive中的命令的执行
7.hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
8.hbase是列存储。

9.hdfs作为底层存储,hdfs是存放文件的系统,而Hbase负责组织文件。



hive
1、可以理解为一种SQL执行引擎,对SQL的支持最终转换为map/reduce任务
2、不支持更新、删除操作,但可以插入
3、任务不是实时执行,用时一般为数分钟到数小时
4、本身可以不存储数据,只存储关于数据的元数据,偏重于逻辑结构,是一种数据仓库
5、适合于静态大数据量的查询、分析、汇总,不适合联机实时数据处理
6、操作一般以全表数据为基础,但也有分区等概念

Hbase
1、不支持SQL
2、支持增删改查操作
3、任务实时执行
4、本身存储数据,有复杂的物理存储结构,是一种真正的数据库
5、适合联机实时数据处理
6、操作以列为基础



www.htsjk.Com true http://www.htsjk.com/hbase/34324.html NewsArticle Hive Hbase之间的区别和应用场景,hivehbase 作者:有点文 链接:https://www.zhihu.com/question/21677041/answer/185664626 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注...
相关文章
    暂无相关文章
评论暂时关闭