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命令总结的主要内容,如果未能解决你的问题,请参考以下文章

hbase shell 常见命令

Hbase 之 Shell 初级

hbase shell 基本命令总结

HBase shell指令总结

HBASE SHELL 命令使用

Hbase shell操作总结