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中查询数据区别

 

posted @ 2021-11-12 22:02  叽歪。。。  阅读(260)  评论(0)    收藏  举报