1.概念
-
什么是Hive?
hive是建立在Hadoop之上的数据仓库工具,可以将结构化数据文件映射成数据库表。并提供简单的sql功能,将sql转化为化MR任务运行。因为sql学习成本低,不必专门开发MR应用,十分适合数据仓库的统计分析。hive的意义在于,把简单的hive的sql转化为复杂难写的mapreduce程序
-
什么是Hbase?
Hbase是建立在HDFS之上,提供高可靠性的列存储,可以实时读写的数据库系统。它介于Nosql和关系型数据库之间,仅通过主键和主键的range来检索数据,仅支持单行事务。主要用来存储非结构化和半结构化数据的松散数据。hbase主要建立HDFS进行存储数据;
2.hive与hbase的区别
1. 共同点:
- hive和hbase都是架构在hadoop之上的。都是用hadoop作为地层存储
2. 区别:
-
基于hadoop技术不同
Hive一种类SQL的引擎,并且运行MapReduce任务
Hbase是一种在Hadoop之上的Nosql的Key/Value数据库,只支持简单行列操作。 -
限制
Hive目前不支持更新操作;另外,由于hive在hadoop上运行批量操作,消耗的时间很长,才能获取查询结果。Hive必须提供预定好的schema将文件和目录映射到列,并且Hive与ACID不兼容
Hbase查询是通过特定的语言Scala语言编写