hive和hbase的通俗易懂的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cjDaShuJu_Java/article/details/80175249

1.区别

(1)hive是构建在hadoop基础设施上的数据仓库,通过HQL(类似SQL语言)最终转化为MapReduce。

        hbase是一种key/value系统,他运行在hdfs上,和hive不一样,hbase能够在数据库上实时运行,而不是运行MapReduce任务。

(2)hive查询花费时间很长,他默认遍历表中的所有数据。但可以通过hive的分区机制提高效率。

        hbase通过存储key/value表来工作,支持主要的增删改查。

(3)hive适合处理理想数据,因为他需要很长时间返回结果。

        hbase适合大数据的实时查询。

2.存储同样是hdfs,同样有着自己的数据表,hbase的查询为何比hive的快?

hive:

(1)hive是基于MapReduce来处理,离线计算速度。

(2)MapReduce计算基于行的模式,查询数据默认查询整个表。

(3)hive的表时逻辑表,本身不存储数据,完全依赖hdfs和MapReduce。

hbase:

(1)hbase是物理表,查询的时候会将相应的数据加载到内存,提高查询效率。

(2)hbase是基于列存储的,查询的时候只查询一列或者多列。

(3)hbase有一级索引rowkey。

(4)hbase提供了一个强大的内存hbase表,搜索引擎通过这个hash表存储索引,提高查询效率。

猜你喜欢

转载自blog.csdn.net/cjDaShuJu_Java/article/details/80175249