Hbase shell常用命令

Hbase shell常用命令

1、创建表:
命令:create ‘表名’,’列名1’,’列名2’,…’列名N’
Hbase shell常用命令
2、创建表的完整方式
温馨提示:在创建表时,除了列族名称,列族其余的参数均为可选项,上面创建“scores”表的语句为简化的方式,完整的写法如下。

命令:create ‘表名’,{NAME=>’列名1’,VERSIONS=>5},{NAME=>’列名2’,VERSIONS=>5}
Hbase shell常用命令
3、查看所有表
命令:list
Hbase shell常用命令

其中关于列族描述信息的具体含义如下所示:
列族描述信息表
Hbase shell常用命令
Hbase shell常用命令
4、查看表的描述信息
命令:describe ‘表名’
Hbase shell常用命令
注意地方:命令不能打错,否则会跳出shell命令行;删除的时候使用“ctrl+删除键”
5、添加数据:put
命令:put‘表名称’,‘行键’,‘列键’,‘值’
Hbase shell常用命令
6、扫描表:scan
scan‘表名称’,{COLUMNS=>[‘列族名1’,‘列族名2’…],参数名=>参数值…}
第一种情景:不指定查询条件,查询所有数据
Hbase shell常用命令
第二种情景:如果对有些列族不关心,便可以指定只查询某个列族
Hbase shell常用命令
第三种情景:能不能指定列键来扫描呢?肯定可以,语法格式如下:
scan ‘表名称’,{COLUMN=>[’列键’,’列键2’…],参数名=>参数值…}
Hbase shell常用命令
7、获取数据:get
get用于获取行的所有单元或者某个指定的单元。语法格式如下:
get ‘表名称’,’行键’,{COLUMNS=>[‘列族名1’,’列族名2’…],参数名=>参数值…}
get ‘表名称’,’行键’,{COLUMNS=>[‘列键1’,’列键2’…],参数名=>参数值…}

第一种情景:查找行键为“jason”的所有单元
Hbase shell常用命令

第二种情景:精确查找行键为“jason”,列键为“course:math”的单元。
Hbase shell常用命令
提示:
get ‘scores’,’jason’,{COLUMNS=>’course:math’}等价于get ‘scores’,’jason’,’course:math’
get ‘scores’,’jason’,{COLUMNS=>[’course:math’,’grade:’}等价于get‘scores’,’jason’,’course:math’,’grade:’

获取一个rowkey,一个列族中一个列的所有数据
get ‘表名’,‘行键’,{COLUMN=>‘列键’}
eg: get ‘lol’,‘Sivir’,{COLUMN=>‘assetsInfo:DEF’}

获取一个rowkek,一个列族的所有数据
get ‘表名’,‘行键’,‘列键’
获取一个rowkey的所有数据
get ‘表名’,‘行键’
查询表中的数据行数
count ‘表名’
修改一个rowkey下某个列的值
put ‘表名’, ‘行键’,‘列键’,‘值’
eg:get’lol’,‘row-0001’,{COLUMN=>‘personalInfo:nickname’,TIMESTAMP=>1531285952768}

通过timestamp来获取两个版本的数据
get’表名’,‘行键’,{COLUMN=>‘列键’,TIMESTAMP=>1531285952768}
eg:get’lol’,‘row-0001’,{COLUMN=>‘personalInfo:nickname’,TIMESTAMP=>1531287394335}

8、删除数据:delete
命令:delete ‘表名’,’行键’,’列键’
delete只能删除一个单元,而deleteall能删除一行。
Hbase shell常用命令
Hbase shell常用命令
删除行
deleteall ‘表名’,’行键’
Eg:deleteall ‘lol’,‘Sivir’

删除表中的所有数据
truncate ‘表名’

9、修改表:alter
alter‘表名称’,参数名=>参数值,…
Hbase shell常用命令
删除’lol’表的’assetsInfo’列簇
alter ‘lol’,{NAME=>‘assetsInfo’,METHOD=>‘delete’}

10、删除表:drop
使用disable将表置为不可用状态。
Hbase shell常用命令
使用enable将表置为可用状态。
Hbase shell常用命令
当表为ENABLED状态时,会被禁止删除。所以必须先将表置为DISABLED状态才可被删除。操作如下。
Hbase shell常用命令
检查表是否被禁用
is_enabled ‘表名’
is_disabled ‘表名’

查看表是否存在
exists ‘表名’