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表存储索引,提高查询效率。
本文对比了Hive和HBase两种不同的数据处理方式。Hive适用于离线批处理,通过HQL转换为MapReduce任务;而HBase作为实时查询系统,支持快速增删改查操作。HBase通过内存缓存、列存储和RowKey索引等机制提高了查询效率。
351

被折叠的 条评论
为什么被折叠?



