梳理了Hbase与Hive之间的区别和关系
1. 区别
- Hbase:Hadoop database,也就是基于Hadoop的数据库,是一种NoSQL的数据库,主要用于海量数据的实时随机查询,例如:日志明细,交易清单等。
- Hive: Hive是hadoop的数据仓库,跟数据库有点差,主要是通过SQL语句对HDFS上结构化的数据进行计算和处理,适用于离线批量数据处理
- 通过元数据对HDFS上的数据文件进行描述,也就是通过定义一张表来描述HDFS上的结构化文本,包括各列的数据名称、数据类型,方便数据的处理
- 基于上面一点,通过SQL来处理和计算HDFS的数据,Hive会将SQL翻译为Mapreduce来处理数据
2. 关系
在大数据架构中,通常HBase和Hive是协作关系:
- 通过ETL(Extract-Transform-Load,提取、转换、加载)工具将数据源抽取到HDFS上存储
- 通过Hive清洗、处理和计算源数据
- 如果清洗过后的数据是用于海量数据的随机查询,则可将数据放入Hbase
- 数据应用从Hbase中查询数据
参考
- Hive和Hbase之间的差异?