HBase 和 Hive 区别和现实运用

HBase 和 Hive 区别和现实运用

1、HBase 了解

Hbase 是 Hadoop database 的简称,也就是基于 Hadoop 数据库,是一种 NoSQL 数据库,主要适用于海量明细数据(十亿、百亿)的随机实时 查询,如日志明细、交易清单、轨迹行为等。

HBase 表是物理表,适合存放非结构化的数据。提供一个超大的内存 hash 表,搜索引擎通过它来存储索引,方便查询操作。

HBase 基于 Hadoop 的 HDFS 存储, zookeeper 进行管理,处理数据是基于 的而不是基于行的模式,适合海量数据的随机访问。

HBase 是近实时系统,支持实时查询,支持增删改查

2、Hive 了解

Hive 是基于 Hadoop 的一个 数据仓库 工具,严格来说,不是数据库,主要是让开发人员能够通过 SQL 来计算和处理 HDFS 上的结构化数据,适用于离线的批量数据计算。可以将结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能。

Hive 中的表纯逻辑。

Hive 本身不存储和计算数据,它完全依赖于 HDFS 和 MapReduce,Hive 需要用到 HDFS 存储文件,需要用到 MapReduce 计算框架,而 MapReduce 处理数据是基于的模式。

Hive 使用 Hadoop 来分析处理数据,而 Hadoop 系统是批处理系统,因此不能保证处理的低迟延问题,而且 只支持导入和查询

3、现实使用

Hbase 和 Hive 在大数据架构中处在不同位置,Hbase 主要解决 实时数据查询 问题,Hive 主要解决 数据处理计算问题,两者是协作关系,一般是配合使用。

在这里插入图片描述

  • 通过 ETL 工具将数据源抽取到 HDFS 存储;
  • 通过 Hive 清洗、处理和计算原始数据;
  • Hive 清洗处理后的结果,如果是面向海量数据随机查询场景的可存入 HBase
  • 数据应用从 HBase 查询数据;

猜你喜欢

转载自blog.csdn.net/a6661314/article/details/127129565