HBase和Hive的区别
(1)问题分析
是对你大数据基础的考核,概念和特性都需要回答。同时可以延伸业务场景,考察学生在项目实战中不同服务如何区分配合使用。
(2)核心答案讲解
Hive
Hive是基于Hadoop的数据仓库工具,可以将结构化数据文件映射为数据库表。并提供简单的sql功能,可以将sql转化为mr任务运行。因为sql学习成本低,不必专门开发mr应用,十分适合数据仓库的统计分析。
HBase
HBase是建立在HDFS之上,提供高可靠性的列存储,实时读写的数据库系统。它介于Nosql和关系型数据库之间,仅通过主键和主键的range来检索数据,仅支持单行事务。主要用来存储非结构化和半结构化的松散数据。
区别
Hive和HBase是两种基于Hadoop的不同技术:Hive是一种类SQL的引擎,并且运行MapReduce任务,HBase是一种在Hadoop之上的NoSQL 的Key/vale数据库,只支持简单的行列操作。当然,这两种工具是可以同时使用的。Hive可以用来进行统计查询,HBase可以用来进行快速的实时查询,数据也可以从Hive写到HBase,设置再从HBase写回Hive。
(3)问题扩展
类似的存储服务特别多,nosql的关系型的文件型的。比如谈谈es和HBase的区别,MySQL和HBase的区别,HBase和hdfs的区别等等。需要先答出两种存储服务的概念,再根据核心功能,特性的不同答出两者区别。
(4)项目应用
在哪种场景下,使用哪种技术。当所存储数据需要快速插入查询时,使用HBase,所以Storm或Sparksteaming常常存储入HBase。当数据需要大量聚合运算,计算分析结果时,使用Hive存储,所以Hive是数仓,etl的常用工具。