Hive vs HBase
Posted 公共安全大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive vs HBase相关的知识,希望对你有一定的参考价值。
Hive
Hive 是一款构建于Hadoop之上的数据仓库。可以使用HQL语言查询HDFS上面的数据。HQL是一种类SQL语言,最终转换为Map-Reduce任务。Hive本身不存储数据,数据都存储于HDFS上,因此Hive上面的表都是逻辑表,只是表的元数据。
Hive 运行时间比较长因为默认情况下Hive会遍历整张表,不过这种情况可以使用分区表得到一定的解决。
Hive 不支持记录级别的更新、插入或者删除,也不支持事务,与ACID不兼容。
由于Hive的查询最终会转换为Map-Reduce任务,所以Hive的查询延时比较严重。
Hive 适合对一段时间内的数据进行查询分析,它不适合于实时查询。Hive适合OLAP。
HBase
HBase 是一款Key-Value数据库,运行于HDFS之上。HBase和Hive不一样,它是在它的数据库上运行而不是转换为Map-Reduce任务。HBase上的表都是物理表,适合存放非结构化的数据。
HBase 是基于列式存储的,适合海量数据的随机访问。
HBase 的运行需要Zookeeper,Zookeeper是一个用来进行分布式协调的服务,这些服务包括配置服务,维护元信息和命名空间等。
HBase 非常适合于大数据的实时查询。HBase适合OLTP。
以上是关于Hive vs HBase的主要内容,如果未能解决你的问题,请参考以下文章
hive on spark VS SparkSQL VS hive on tez
hive on spark VS SparkSQL VS hive on tez
Hive with Hadoop vs Hive with spark vs spark sql vs HDFS - 它们如何相互协作?