Hbase和Hive在Hadoop中的功能有什么联系?他们怎么分别作业的.两个数据库不会有重复信息导致资源浪费吗?

求工作流程原理示意图
2024-12-08 09:06:33
推荐回答(3个)
回答1:

简单来说hive用来批量处理数据,HBase用来快速索引数据。
HBase是一个分布式的基于列存储的非关系型数据库。HBase的查询效率很高,主要由于查询和展示结果。
hive是分布式的关系型数据库。主要用来并行分布式 处理 大量数据。hive中的所有查询除了"select * from table;"都是需要通过Map\Reduce的方式来执行的。由于要走Map\Reduce,即使一个只有1行1列的表,如果不是通过select * from table;方式来查询的,可能也需要8、9秒。但hive比较擅长处理大量数据。当要处理的数据很多,并且Hadoop集群有足够的规模,这时就能体现出它的优势。
通过hive的存储接口,hive和Hbase可以整合使用。参见:http://wenku.baidu.com/view/faec57fb04a1b0717fd5dd00.html?st=1

回答2:

应该是Hadoop在hbase和Hive中的作用吧。 hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储。而hbase是作为分布式数据库,而hive是作为分布式数据仓库。当然hive还是借用hadoop的MapReduce来完成一些hive中的命令的执行。而hbase与hive都是单独安装的。你需要哪个安装哪个,所以不存在重复信息。

回答3:

HBase和Hive均是在HDFS上有自己的文件组织格式,两者是互斥的,通常不会同时使用。简单来说,各个系统的查询操作的规模由小到大是:
HBase << Hive < 常规MapReduce作业