第七次作业
1.理解HBase表模型及四维坐标:行键、列族、列限定符和时间戳。
数据模型概述:
HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳。
每个值是一个未经解释的字符串,没有数据类型。
用户在表中存储数据,每一行都有一个可排序的行键和任意多的列。
表在水平方向由一个或者多个列族组成,一个列族中可以包含任意多个列,同一个列族里面的数据存储在一起。
列族支持动态扩展,可以很轻松地添加一个列族或列,无需预先定义列的数量以及类型,所有列均以字符串形式存储,用户需要自行进行数据类型转换。
HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留(这是和HDFS只允许追加不允许修改的特性相关的)。
数据模型相关概念:
表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族。
行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。
列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元。
列限定符:列族里的数据通过列限定符(或列)来定位。
单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[]。
时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。
2.启动HDFS,启动HBase,进入HBaseShell命令行。

3.列出HBase中所有的表信息list

4.创建表create

5.查看表详情desc

6.插入数据put

7.查看表数据scan

8.多版本实验:修改列族版本数,插入多版本数据,查看多版本数据



9.对比HBase列式表与MySQL的行式表
- 在HBase中创建学生课程分数表student并查看表结构。create,describe,put
![]()
![]()
- 分别插入几行数据,几个版本。put/insert
-
![]()
![]()
-
查看数据及版本。get,scan/selec
-
![]()
![]()
![]()
- 在mysql中创建学生表student, 课程表 course, 分数表score并查看表结构。create,describe








浙公网安备 33010602011771号