hbase与hive的联系
1.hive适合处理离线的数据
2.hbase适合处理实时的数据的查询
两者合并起来使用可以达到‘+’的效果
hive
hive适合用于网络日志等数据量大的静态数据查询
HIVE是hadoop的数据仓库,依赖于HDFS和mapreduce
类似于SQL操作
把MAPREDUCE的程序作为插件来支持HIVE的数据分析
作用于全表扫描使用(HIVE+HADOOP)
hive的操作是基于整个数据表的、
所以查询起来常常是以小时来计
不支持常规的更新语句,插入,更新,删除
hbase
hbase适合大数据的实时查询
是一个数据库系统,面向列的数据库查询,有自己的查询 语句
支持横向扩展,减少成本
由自己的查询方式,不用依赖于MAPREDUCE
索引访问使用(HBASE+HADOOP)
性能
HBASE相对于HIVE是比较高效的多的
HIVE需要使用到HDFS存储,要用到MAPREDUCE计算框架
HBASE需要使用HDFS存放文件,HBASE负责组织文件
HIVE需要借助MAPREDUCE来完成HIVE的命令执行
相同
hbase与HIVE都是架构在HADOOP之上的,都是用HADOOP作为底层存储
HBASE优点
- 列的动态增加,并且列为空就不存储数据,节约存储空间
- 支持高并发读写操作
HBASE缺点
- 不支持条件查询,只支持按照ROWKEY查询
- 不支持MASTER的故障切换,当MASTER宕机,整个系统就瘫痪掉了
- 只保存字符类型
- 没有表与表之间的关系