-
hive可以认为是map-reduce的一个包装。hive的意义就是把好写的hive的sql转换为复杂难写的map-reduce程序。
-
hbase可以认为是hdfs的一个包装。他的本质是数据存储,是个NoSql数据库;hbase部署于hdfs之上,并且克服了hdfs在随机读写方面的缺点。
- | Hive | Hbase |
---|---|---|
定位 | 数据仓库 | Key/Value存储 |
简述 | 高延迟、结构化、面向分析 | 低延迟、非结构化和面向编程 |
结构 | 行存储 | 列存储 |
类型 | 逻辑表 | 物理表 |
SQL | 支持 | 不支持 |
物理层 | HDFS,Hbase | HDFS |
应用场景
Hive适合用来对一段时间内的数据进行分析查询,例如,用来计算趋势或者网站的日志。Hive不应该用来进行实时的查询。因为它需要很长时间才可以返回结果。
Hbase非常适合用来进行大数据的实时查询。Facebook用Hbase进行消息和实时的分析。它也可以用来统计Facebook的连接数。
总结
Hive和Hbase是两种基于Hadoop的不同技术–Hive是一种类SQL的引擎,并且运行MapReduce任务,Hbase是一种在Hadoop之上的NoSQL 的Key/vale数据库。
参考:
https://zhuanlan.zhihu.com/p/137458844