HBase 常见Shell命令总结
Posted node2017
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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'
以上是关于HBase 常见Shell命令总结的主要内容,如果未能解决你的问题,请参考以下文章