hive 和hbase 有什么区别

如题所述

hbase和hive的主要区别是:他们对于其内部的数据的存储和管理方式是不同的,hbase其主要特点是仿照bigtable的列势存储,对于大型的数据的存储,查询比传统数据库有巨大的优势,而hive其产生主要应对的数据仓库问题,其将存在在hdfs上的文件目录结构映射成表。主要关注的是对数据的统计等方面。适合的场景:hbase:适合大型数据存储,其作用可以类比于传统数据库的作用,主要关注的数据的存取。hive:适合大数据的管理,统计,处理,其作用类比于传统的数据仓库,主要关注的数据的处理。总结:应对大数据的时候,如果你偏重于数据存储查询hbase无疑是更加适合,而你关注的是对大数据的处理结果查询,比如你查询的时候有类似于count,sum等函数操作 hive就能满足你的需求,一般有些项目都输在hive里面进行数据处理,然后将结果导入mysql等数据库或者hbase中进行查询,至于mysql与hbase的选择 比较倾向于你的处理之后的数据量
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-07
Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop。
Apache HBase是一种Key/Value系统,它运行在HDFS之上。和Hive不一样,Hbase的能够在它的数据库上实时运行,而不是运行MapReduce任务。Hive被分区为表格,表格又被进一步分割为列簇。列簇必须使用schema定义,列簇将某一类型列集合起来(列不要求schema定义)。例如,“message”列簇可能包含:“to”, ”from” “date”, “subject”, 和”body”. 每一个 key/value对在Hbase中被定义为一个cell,每一个key由row-key,列簇、列和时间戳。在Hbase中,行是key/value映射的集合,这个映射通过row-key来唯一标识。Hbase利用Hadoop的基础设施,可以利用通用的设备进行水平的扩展。本回答被提问者采纳
第2个回答  2020-09-25
1、Hbase: 基于Hadoop数据库,是一种NoSQL数据库;HBase表是物理表,适合存放非结构化的数据。
2、hive:本身不存储数据,通过SQL来计算和处理HDFS上的结构化数据,依赖HDFS和MapReduce;hive中的表是纯逻辑表。
相似回答