Hbase操作
1.理解HBase表模型及四维坐标:行键、列族、列限定符和时间戳
数据模型相关概念:
表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族。
行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。
列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元。
列限定符:列族里的数据通过列限定符(或列)来定位。
单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[]。
时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。

2.启动HDFS,启动HBase,进入HBaseShell命令行
start-dfs.sh start-hbase.sh jps
hbase shell

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

4.创建表create
create 'stuInfo','student','score'

5.查看表详情desc
desc 'stuInfo'

6.插入数据put
put 'stuInfo','073','student:name','刘文' put 'stuInfo','073','student:sex','男' put 'stuInfo','073','score:bigData','80' put 'stuInfo','073','score:operatingSystem','50' put 'stuInfo','075','student:name','大熙' put 'stuInfo','075','student:sex','男' put 'stuInfo','075','score:bigData','70' put 'stuInfo','075','score:operatingSystem','59'

7.查看表数据scan

8.多版本实验:修改列族版本数,插入多版本数据,查看多版本数据
1) 在shell端创建一个Hbase表
create 't1','f1'
2) 查看表结构
desc 't1'

3) 修改表结构,让Hbase表支持存储3个VERSIONS的版本列数据
alter 't1',{NAME=>'f1',VERSIONS=>3}


4) 插入3行数据

5) 从上面可以看出,插入了3行数据到表中,并且3行数据的rowkey一致,然后使用get命令来获取这一行数据,发现只返回了最新的一行数据。

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

在MySQL中创建表

在hbase中插入数据

在mysql中插入数据
insert into `student`(`id`,`stu_id`,`course`,`score`) values (2,20170102,'数据库',80),(3,20170103,'数据库',82),
(4,20170104,'数据库',67),(5,20170105,'数据库',90),(6,20170102,'C语言',87),(7,20170102,'C语言',80),(8,20170103,'C语言',75),
(9,20170104,'C语言',67),(10,20170105,'C语言',92);
在hbase中和MySQL中查询数据区别

浙公网安备 33010602011771号