题目
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 查询数据; ![](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/ctdzjsa3jv.jpeg) ##