HBase 教程:初学者综合指南 [2022]
已发表: 2021-01-08大数据是增长最快的行业之一。 从 Facebook 等科技巨头到金融机构,每个人都在使用大数据来加强运营。 最受欢迎的大数据解决方案之一是 Hadoop。
要了解 Hadoop,您需要了解它的所有主要组件。 这就是为什么在本文中,我们将讨论 HBase,它是 Hadoop 的重要组成部分。 我们将讨论 HBase 基础知识,例如其架构、历史和应用程序。 您可以收藏这篇文章以备将来参考。
让我们开始吧。
目录
什么是 HBase?
与 Google 的 Big Table 类似,HBase 是一种数据模型,可让您快速访问大量结构化数据。 它是 Apache 软件基金会的产品,是 Hadoop 项目的一部分。 它是用 Java 编写的,是一个非关系型开源分布式数据库。 它运行在 Hadoop 的存储组件 Hadoop 分布式文件系统 (HDFS) 上。
HBase 是分布式的、一致的、多维的和稀疏的。 您可以将它用于大量数据、可变模式和许多其他要求。
您可能想知道什么是稀疏数据。 嗯,这类似于大海捞针。

HBase 的历史
在我们谈论它的特性和功能之前,您应该了解它的历史。 谷歌在 2006 年发布了关于 BigTable 的论文,之后,开发人员在 2007 年创建了第一个 HBase 原型。
HBase 的第一个版本于 2007 年 10 月与 Hadoop 一起上市。 2008年成为Hadoop的子项目,2010年成为Apache顶级项目。 您可以说它与 Hadoop 及其其他主要组件一起开发。
为什么我们需要 HBase?
在大数据之前,RDBMS 曾经是解决数据存储问题的主要解决方案。 但随着数据量的增加,公司感到需要更好的数据存储和管理解决方案。 这就是 Hadoop 出现的时候。
它使用分布式存储系统并使用 MapReduce 来处理数据。 Hadoop 有多个组件,例如 HDFS 和 MapReduce。
HBase 是这些必不可少的组件之一。 它的特性使其成为 Hadoop 生态系统的重要成员。 它使您可以快速处理大量数据。 它还为您提供高度安全的数据管理。 您也可以使用 HBase 表支持 MapReduce 作业。
此外,Hadoop 只能执行批处理。 它仅按顺序访问数据。 HBase 和 MongoDB 等工具使 Hadoop 能够随机访问数据,而不是以顺序方式访问数据。
HDFS 和 HBase 的区别
由于 HDFS 和 HBase 都是 Hadoop 的组件,因此即使它们非常不同并且执行不同的任务,任何人都可能会难以理解它们之间的差异。

HDFS 是 Hadoop 的分布式文件系统,您使用它来存储大量数据。 另一方面,HBase 是基于 HDFS 的数据库。 您无法在 HDFS 中快速查找单个记录,但您可以使用 HBase。
HDFS 提供高延迟批处理,而 HBase 提供低延迟访问。 您可以顺序访问 HDFS 中的文件,但使用 HBase,您可以获得随机访问。 总体而言,HBase 提高了您可以使用 HDFS 执行的特定操作的速度。
HBase的架构
我们可以将 HBase 架构定义为以列为中心的数据键值存储。 正如我们之前所建立的,它通过增强其可访问性和运行速度在 HDFS 之上完美运行。 HBase 的三个主要部分是:
- 区域服务器
- HMaster服务器
- 动物园管理员
HMaster 负责区域服务器的管理功能和协调。 Zookeeper 负责配置信息和分布式同步。
HBase 中的存储
如果不讨论其存储机制,此 HBase 培训博客将是不完整的。 我们已经提到 HBase 是一个面向列的数据库,它按行对表进行排序。 HBase 中的模式定义了作为键值对的列族。 一个表可以有多个列族,一个列族可以有多个列。 桌子上的每个单元格都有一个时间戳。
我们可以通过以下方式对其进行分解:
- 一个表有多行
- 一行有多个列族
- 一个列族有各种列
- 一列有不同的键值对
面向行与面向列
您知道 HBase 是一个面向列的数据库,但您可能知道这意味着什么。 好吧,面向行的数据库非常适合在线事务处理,而面向列的数据库非常适合在线分析处理。 同样,前者适用于少量的行和列,而后者适用于大量的行和列。
HBase 应用程序
由于 HBase 能够增强数据存储的可访问性和速度,它在许多行业中都有应用。 您已经阅读了 HBase 的历史,它已经在市场上销售了很长时间。 经过十多年的更新和进步,它已成为任何大数据专业人士的重要工具。

以下是 HBase 的应用:
- 当我们需要编写繁重的应用程序时,我们使用 HBase
- 当我们需要执行在线日志分析以创建合规报告时
- 当我们需要快速随机访问存储在 HDFS 中的数据时
- 当我们需要对大量数据(大数据)进行实时读/写访问时
许多重要的组织,例如 Google 和 Facebook,都使用 HBase 进行内部操作。 大数据无处不在,这也是对HBase的需求也相对增加的原因。
最后的想法
随着 Hadoop 专家的需求空前高涨,适合大数据专业人士尽可能多地了解该解决方案。 HBase 有许多应用程序,而且在各个领域也是如此。 这就是为什么有必要学习 HBase 基础知识及其高级方面的原因。
如果您有兴趣了解有关大数据的更多信息,请查看我们的 PG 大数据软件开发专业文凭课程,该课程专为在职专业人士设计,提供 7 多个案例研究和项目,涵盖 14 种编程语言和工具,实用的动手操作研讨会,超过 400 小时的严格学习和顶级公司的就业帮助。
在 upGrad 查看我们的其他软件工程课程。