Hbase Shell操作
1、创建表
HBase中用create
命令创建表,具体如下:
create 'student','name','sex','age','address'
此时,创建了一个“student”表,属性有:name,sex,age,address。可通过describe
命令查看“student”表的基本信息:
describe 'student'
2、数据库表基本操作
2.1 添加数据
HBase中用put
命令添加数据.
注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据。
put 'student','0351','name','liang'
即为student表添加了学号为0351,名字为liang的一行数据,其行键为0351。
put 'student','0351','address:Anhui','Maanshan'
即为0351行下的address列族的Anhui列添加了一个数据。
2.2 删除数据
在HBase中用delete
以及deleteall
命令进行删除数据操作,它们的区别是:
- delete:用于删除一个数据,是put的反向操作;
- deleteall:用于删除一行数据。
2.2.1 delete命令
delete 'student','0351','sex'
即删除了student表中0351行下的sex列的所有数据。
2.2.2 deleteall命令
deleteall 'student','0351'
2.3 查看数据
HBase中有两个用于查看数据的命令:
- get命令:用于查看表的某一行数据。
- scan命令:用于查看某个表的全部数据。
在查看数据前,我们需先添加一些数据,如下:
put 'student','0351','name','liang' put 'student','0351','sex','male' put 'student','0351','age','22' put 'student','0351','address','Maanshan'
2.3.1 get命令
get 'student','0351'
2.3.2 scan命令
scan 'student'
2.4 删除表
删除表有两步:
- 第一步:先让该表不可用
- 第二步:删除表
disable 'student' drop 'student'
2.5 查询表历史数据
查询表的历史版本,需要两步:
1、在创建表的时候,指定保存的版本数(假设指定为5):
create 'student',{NAME=>'stu_name',VERSIONS=>5}
2、插入数据然后更新数据,使其产生历史版本数据,注意:这里插入数据和更新数据都是用put命令:
put 'student','0351','stu_name','liang1' put 'student','0351','stu_name','liang2' put 'student','0351','stu_name','liang3' put 'student','0351','stu_name','liang4' put 'student','0351','stu_name','liang5' put 'student','0351','stu_name','liang6' put 'student','0351','stu_name','liang7'
3、查询时,指定查询的历史版本数(默认会查询出最新的数据:有效取值为1到5):
get 'student','0351',{COLUMN=>'stu_name',VERSIONS=>5} get 'student','0351',{COLUMN=>'stu_name',VERSIONS=>3}
2.6 退出HBase数据库表
最后退出数据库操作,输入exit命令即可退出:
exit
注意:这里退出HBase数据库是退出对数据库表的操作,而不是停止启动HBase数据库后台运行。