题目
Hive 和 HBase 的区别
答案
首先要申明的是 Hive 和 HBase 不是同一类型的产品!HBase 是数据库,Hive 是数据计算工具:
- **Hive 中的表是纯逻辑表,就只是表的定义等,即表的元数据**。**Hive 本身不存储数据,它完全依赖 HDFS 和 MapReduce**。这样就可以将结构化的数据文件映射为为一张数据库表,并提供完整的SQL查询功能,并将SQL语句最终转换为MapReduce任务进行运行
- 而 HBase 表是物理表(底层存储是 HDFS),适合存放非结构化的数据
在大数据架构中,Hive 和 HBase 通常是协作关系,数据流一般如下图:
1. 通过ETL工具将数据源抽取到 HDFS 存储;
2. 通过 Hive 清洗、处理和计算原始数据;
3. Hive 清洗处理后的结果,如果是面向海量数据随机查询场景的可存入 Hbase
4. 数据应用从 HBase 查询数据;

##
