参考了网上的一些资料,这两者的关联基本如下
- Hbase,是数据库,是基于Hadoop的一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如交易清单、日志明细、轨迹行为等。使用Phoenix等工具,可以接近于操作传统rmdb一样操作hbase数据库。
- Hive,通过元数据来描述HDFS上的结构化文本数据。因此,严格地讲,Hive并非数据库,主要是让开发人员能够通过SQL(HQL语言)来计算和处理HDFS上的结构化数据(Hive会将SQL翻译为MapReduce来处理数据)。Hive适用于离线的批量数据计算。Spark这类计算引擎,其用的就是Hive的元数据。
-
Hbase与Hive通常用来合作进行大数据处理:
1、通过ETL工具将数据源抽取到HDFS存储;
2、通过Hive清洗、处理和计算原始数据;
3、HIve清洗处理后的结果,如果是面向海量数据随机查询场景的可存入Hbase
4、数据应用从HBase查询数据;
简单点说,Hive用于数据清洗、处理,是“后台服务”,而Hbase存储Hive处理后的数据,面向外部提供查询,是“前台服务” :)
参考:(6 封私信 / 80 条消息) HBase 和 Hive 的差别是什么,各自适用在什么场景中? - 知乎 (zhihu.com)