第5章 HBase分布式数据库.pptx
第5章HBase分布式数据库
《Spark大数据分析与实战(第2版)》
了解HBase的基础知识,能够说出HBase的特点和数据模型
了解物理存储,能够说出HBase如何存储数据
熟悉HBase读写数据流程,能够叙述HBase读写数据的流程
熟悉HBase架构,能够叙述HBase中各个组件的作用
学习目标/Target
掌握HBase高可用集群的搭建,能够独立完成HBase高可用集群的搭建
掌握HBase的JavaAPI操作,能够使用JavaAPI操作HBase
掌握HBase的Shell操作,能够使用常用的Shell命令操作HBase
掌握HBase集成Hive,能够实现通过Hive向HBase的数据表插入数据
学习目标/Target
在分布式计算环境下,Spark可以将处理后的数据实时写入HBase数据库,以满
足对大规模数据存储和快速访问的需求。HBase是一种面向列的分布式数据库,专为处理海量数据而设计。与传统的行式数据库(如MySQL和Oracle)不同,HBase的列式存储允许灵活地添加新的列,从而轻松适应不断变化的数据结构。这种特性使得Spark能够将实时计算结果高效地存储到HBase中。本章将详细讲解HBase分布式数据库的相关知识。
章节概述/Summary
HBase的基础知识
深入学习HBase原理
搭建HBase高可用集群
HBase的基本操作
HBase集成Hive
3
01
02
03
04
05
目录/Contents
③
5.1HBase的基础知识
5.1.1HBase的简介
学习目标
了解HBase的基础知识,能够说
出HBase的特点。
HBase起源于Google公司发表的BigTable论文,它是一个高可靠性、高性能、面向列、可扩
展的分布式数据库,HBase可以利用廉价的服务器搭建起大规模结构化存储集群。HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。
稀疏性
扩展性
5.1.1HBase的简介
高可靠
性
多版本
容量大
面向列
5.1.2HBase的数据模型
学习目标
了解HBase的简介,能够说出
HBase的数据模型。
RowKey
Timestamp
ColumnFamily:cl
ColumnFamily:c2
ColumnFamily:c3
Column
Value
Column
Value
Column
Value
rl
t7
cl:col-1
value-1
c3:col-1
value-1
t6
cl:col-2
value-2
c3:col-2
value-1
t5
cl:col-3
value-3
t4
r2
t3
cl:col-1
value-1
c2:col-1
value-1
c3:col-1
value-1
t2
cl:col-2
value-2
t1
cl:col-3
value-3
HBase的数据存储在行列式的表格中,是一个多维度的映射模型。
5.1.2HBase的数据模型
列由列族和列标识两部分组成,两者之间用“:”分隔。例如在列族info中,通过列标识name标识的列为info:name。创建HBase数据表时不需要指定列,因为列是可变的,非常灵活。
在HBase中,列族由多个列组成。在同一个表里,不同列族有不同的属性,但是同一个列族内的所有列都会有相同的属性,因为属性定义在列族级别上。
5.1.2HBase的数据模型
表示时间戳,记录每次操
作数据的时间,通常作为,数据的版本号。
Column
Family(列族
Timestamp
(时间戳)
RowKey
工
③
5.2深入学习HBase原理
在使用HBase之前,学习HBase原理可以让读者更好地理解
HBase。接下来,本节从HBase架构、物理存储以及HBase读写数据流程进行详细讲解HBase原理。
5.2深入学习HBase原理
5.2.1HBase架构
学习目标
熟悉HBase架构,能够叙述
HBase中各个组件的作用。
HBase构建在Hadoop之上,Hadoop中的HDFS为HBase提供了高可靠的底层存储支持,同
时Hadoop中的MapReduce为HBase提供了高性能的计算能力,而Zookeeper为HBase提供