1.HBase Shell常用命令
HBase为用户提供了一个非常方便的使用方式,我们称之为HBase Shell。HBase Shell提供了大多数的HBase命令,通过HBase Shell,用户可以方便地创建、删除以及修改表,还可以向表中添加数据、列出表中的相关信息等。
常见的HBase Shell命令如下:
名称 | 命令表达式 |
---|---|
创建表 | create ‘表名称’,’列族名称1’,’列族名称2’,’列族名称N’ |
添加记录 | put ‘表名称’,’行键’,’列名称:’,’值’ |
查看记录 | get ‘表名称’,’行键’ |
查看表中的记录总数 | count ‘表名称’ |
删除记录 | delete ‘表名’,’行键’,’列名称’ |
删除一张表 | 先要屏蔽该表,才能对该表进行删除,第一步disable ‘表名称’,第二步drop ‘表名称’ |
查看所有记录 | scan ‘表名称’ |
查看某个表某个列中的所有数据 | scan ‘表名称’,{COLUMNS=>’列族名称:列名称’} |
更新记录 | 重写一遍进行覆盖 |
2.举个栗子
我们利用命令创建这样一张表格
老规矩,先启动Hadoop与HBase,然后启动HBase Shell
(1)create命令
创建一个具有3个列族(name、grad和cource)的表scores,命令如下:
create 'scores','name','grad','course'
(2)list命令
查看当前HBase中有哪些表
list
(3)describe命令
查看表scores的构造,也可以简写成desc
describe 'scores'
desc 'scores'
(4)put命令
使用put命令向表中插入数据,参数分别为表名、行名、列名和值,其中列名需要列族作前缀,时间戳由系统自动生成。
例子:加入一行数据,行键称为“xiaopi”,列族“grad”的列名为“(空字符串)”,值为1
put 'scores','xiaopi','grad:','1'
put 'scores','xiaopi','grad:','2'
修改操作,给“xiaopi”这一行的数据的列族“course”添加一列
put 'scores','xiaopi','course:Chinese','97'
put 'scores','xiaopi','course:Math','128'
put 'scores','xiaopi','course:English','85'
(5)get命令
查看表scores中的行键xiaopi的数据
get 'scores','xiaopi'
查看表scores中行键xiaopi列course:Math的值
get 'scores','xiaopi','course:Math'
get 'scores','xiaopi',{COLUMN=>'course:Math'}
get 'scores','xiaopi',{COLUMNS=>'course:Math'}
(6)scan命令
查看表scores中的所有数据
scan 'scores'
scan 'scores',{COLUMN=>'grad'}
scan 'scores',{COLUMN=>'course:Math'}
scan 'scores',{COLUMNS=>'course'}
scan 'scores',{COLUMNS=>'course:Math'}
(7)count命令
统计记录条数
count 'scores'
(8)exists命令
判断表是否存在
exists 'scores'
(9)修改表结构
alter 'scores',NAME=>'course',VERSIONS=>3
enable 'scores'
HBase默认值报错一份历史副本,以上命令可以将HBase的scores表course列族改为保存3份历史副本
(10)delete命令
删除表scores中行键为xiaopi,列族course中的Math
delete 'scores','xiaopi','course:Math'
# 查看数据
scan 'scores'
如果有多条记录一次删除,使用delete all
delete all 'scores'
(11)truncate命令
清空数据但保留表结构
truncate 'scores'
# 查看数据
scan 'scores'
(12)disable、drop命令
通过这两个命令删除scores表,要彻底删除表数据与表结构,必须先disable,再drop
disable 'scores'
drop 'scores'
# 查看数据
scan 'scores'
(13)status命令
查看HBase的运行状态
status
(14)version命令
查看HBase版本
version
基本的HBase Shell命令差不多都涉及到了,详细的其他命令可以参照官网案例~