HBase 常见Shell命令总结

用HBase的时候,老是忘记一些shell命令,每次都需要上网查,好麻烦,干脆就把常见的shell都总结一下吧。

进入命令行界面相关命令

1、进入shell命令行界面

./hbase shell
表结构相关命令

2、创建表结构,这里创建test表,包含fcol1,fcol2

create 'test', 'fcol1', 'fcol2'
#或
create 'test', {NAME => 'fcol1', VERSIONS => '3'}

3、显示hbase中的表

list

4、修改表结构

#首先停用test表
disable 'test'
#添加两个列族fcol3和fcol4
alter 'test', NAME => 'fcol3',Name => 'fcol4'
#启用表
enable 'test'

5、删除一个列族

alter 'test', NAME => 'fcol4', METHOD => 'delete' 
#或
alter 'test', 'delete' => 'fcol4'

6、添加列族fcol4同时删除列族fcol3

alter 'test', {NAME => 'fcol3'}, {NAME => 'fcol4', METHOD => 'delete'}

7、修改表的某个列族的版本号

alter 'test', NAME => 'fcol1', VERSIONS => 10

8、删除表

disable 'test'
drop 'test'

9、启动表

enable 'test'
写数据相关命令

10、向test表中插入数据,row key为rk01,列族fcol1中添加col1列,值为val1

put 'test', 'rk001', 'fcol1:col1', 'val1'

11、向test表中插入数据,row key为rk01,列族fcol1中添加col2列,值为val2

put 'test', 'rk01', 'fcol1:col2', 'val2'

12、向test表中插入数据,row key为rk01,列族fcol1中添加col3列,值为val3

put 'test', 'rk01', 'fcol1:col3','val3'

13、向test表中插入数据,row key为rk01,列族fcol1中添加col4列,值为val4

put 'test', 'rk01', 'fcol1:col4', 'val4'
get读数据相关命令

14、获取test表中row key为rk01的所有数据

get 'test', 'rk01'

15、获取test表中row key为rk01,fcol1列族的信息

get 'test', 'rk01', 'fcol1'

16、获取test表中row key为rk01,fcol1列族的col1和col2列的信息

get 'test', 'rk01', 'fcol1:col1', 'fcol1:col2'

17、获取test表中row key为rk01,fcol1和fcol2列族的所有信息

get 'test', 'rk01', 'fcol1', 'fcol2'
#或
get 'test', 'rk01', {COLUMN => ['fcol1', 'fcol2']}

17、获取test表中row key为rk01,列族为fcol1,版本号最新5个的信息

get 'test', 'rk01', {COLUMN => 'fcol1', VERSIONS => 3}
get 'test', 'rk01', {COLUMN => 'fcol1:col1', VERSIONS => 5}
get 'test', 'rk01', {COLUMN => 'fcol1:col1', VERSIONS => 5, TIMERANGE => [1392368783980, 1392380169184]}

18、获取test表中row key为rk01,cell的值为xxx的信息

get 'test', 'rk01', {FILTER => "ValueFilter(=, 'binary:中文')"}

get 'test', 'rk01', {FILTER => "(QualifierFilter(=,'substring:abc'))"}
scan读数据相关命令

19、查询test表中的所有信息

scan 'test'

20、查询test表中列族为fcol1的信息

scan 'test', {COLUMNS => 'fcol1'}
scan 'test', {COLUMNS => 'fcol1', RAW => true, VERSIONS => 5}

21、查询test表中列族为fcol1和fcol2的信息

scan 'test', {COLUMNS => ['fcol1', 'fcol2']}
scan 'test', {COLUMNS => ['fcol1:col1', 'fcol2:col2']}

22、查询test表中列族为fcol1和fcol2且列标示符中含有abc字符的信息

scan 'test', {COLUMNS => ['fcol1', 'fcol2'], FILTER => "(QualifierFilter(=,'substring:abc'))"}

23、查询test表中列族为fcol1,rk范围是[rk01, rk03)的数据

scan 'test', {COLUMNS => 'fcol1', STARTROW => 'rk01', ENDROW => 'rk03'}

24、查询test表中row key以rk字符开头的

scan 'test',{FILTER=>"PrefixFilter('rk')"}

24、查询test表中指定TIMERANGE 范围的数据

scan 'test', {TIMERANGE => [1392368783980, 1392380169184]}
删除表数据相关命令

25、删除test表row key为rk01,列标示符为fcol1:col1的数据

delete 'test', 'rk01', 'fcol1:col1'

26、删除test表row key为rk01,列标示符为fcol1:col1,timestamp为1292343123415的数据

delete 'test', 'rk01', 'fcol1:col1', 1292343123415
清空表数据相关命令

27、清空表数据

truncate 'test'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值