赞
踩
先放结论:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用。
一、区别:
二、关系
在大数据架构中,Hive和HBase是协作关系,数据流一般如下图:
通过hive的存储接口,hive和Hbase可以整合使用。
1、hive是sql语言,通过数据库的方式来操作hdfs文件系统,为了简化编程,底层计算方式为mapreduce。
2、hive是面向行存储的数据库。
3、Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑。
4、HBase为查询而生的,它通过组织起节点內所有机器的內存,提供一個超大的內存Hash表 。
5、hbase不是关系型数据库,而是一个在hdfs上开发的面向列的分布式数据库,不支持sql。
6、hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
7、hbase是列存储。
Hive和Hbase有各自不同的特征:hive是高延迟、结构化和面向分析的,hbase是低延迟、非结构化和面向编程的。Hive数据仓库在hadoop上是高延迟的。
其中HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。
HDFS:Hadoop分布式文件系统
MapReduce:MapReduce分布式编程模型
Yarn:资源分配
Hbase:海量数据库,面向列
Hive:通过SQL操作结构化数据,为用户操作结构化数据提供一个易用的接口。
Flume:日志收集
Kafka:消息队列
Storm:流计算
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。