hbase表管理命令

本文介绍常用的hbase表管理的相关命令和例子,表设计如下:

行键 列族grsj 列族zysj 时间戳
xm00(姓名) nl00(年龄) xb00(性别) sxcj(数学) ywcj语文
0001 张三 20 1 90 94  
0002 李四 21 2 86 89  
0003 王五 20 1 91 92  

hbase create创建:

create创建命令用于hbase创建带有列族的表。

语法:

    create '<表名>', '<列族>'

例子:

 创建一个表面student表,包含两个列族:个人数据和专业数据,如下:

create  'student' , 'grsj', 'zysj'

hbase create

注意,再hbase中,所有字符串使用单引号,而且是区分大小写的。


上面建表命令并未对列族的参数进行定义,使用的是默认参数,可以对列族进行版本,是否缓存进行设定。如下:

create ‘student’,{NAME=>'grsj', 'Stulnfo', VERSIONS => 3}, {NAME =>'zysj', BLOCKCACHE => true}

create ‘student’,{NAME=>'grsj', 'Stulnfo', VERSIONS => 3}, {NAME =>'zysj', BLOCKCACHE => true}

VERSIONS => 3是指hbase单元格数据保存最近的 3 个版本,BLOCKCACHE => true指允许读取数据时进行缓存。


hbase list列表:

List 命令用于查看hbase当中存在的表。

语法:

    list

例子:

 用list命令查看验证上面刚刚创建的student表,如下:

hbase list


hbase describe表描述:

Describe 命令用于查看表的描述,比如带有列族、表的版本之类。

语法:

    describe <表名>

例子:

 用describe查看刚刚创建的student表的信息。

describe 'student'

hbase describe


hbase disable表禁用:

使用 disable 命令我们可以禁用一个表,表的修改和删除等相关操作都不能使用。

语法:

    disable <表名>

例子:

 用disable命令禁用student表。

disable 'student'

hbase disable_all表禁用:

使用 disable_all 命令我们可以禁用 带正则表达式所匹配的所有表。

语法:

    disable_all <匹配文本>

例子:

 用disable_all命令禁用student表,stu.*表示stu开头的所有表

disable_all stu.*

hbase is_disabled是否禁用:

使用 is_disabled命令查看表是否被禁用

语法:

    is_disabled '<表名>'

例子:

 查看student表是否被禁用了。

is_disabled 'student'

hbase is_disabled


hbase enable 启用:

使用 enable启用被禁用的表。

语法:

    enable '<表名>'

例子:

 前面禁用了student表,可以重新启用student表。

enable 'student'

hbase is_enabled是否启用:

使用 is_enabled命令查看表是否启用

语法:

    is_enabled '<表名>'

例子:

 查看student表是否处启用状态。

is_enabled 'student'


hbase drop删除:

使用 drop命令把表从hbase当中删除。

语法:

    drop'<表名>'

例子:

 删除student 表,注意这里删除表之前需要禁用掉表。

disable 'student'
drop 'student'

hbase drop删除


hbase drop_all删除:

使用 drop_all命令把符合正则表达式的所有表从hbase当中删除。

语法:

    drop_all '<表名>'

例子:

 删除student表 (st_打头的表),注意这里删除表之前需要禁用掉表。

drop_all 'st.*'

hbase alter修改:

使用 alter 命令,我们可以更改单个、多个列族名称、从表中删除列族名称、列族下增加新列。

例子:

这里根据不同例子讲解不同修改模式。

1、我们把student表的zysj的版本号改成5

alter 'student' , {NAME=>'zysj', VERSIONS=>5}

2、向student表中增加一个新列族年纪数据(njsj)

alter 'student','njsj'

3、把student表中的列族进行删除。(需要注意删除列族的时候表中必须还有其它列族,不能删除唯一的列族)

alter 'student', { NAME => 'njsj', METHOD => 'delete' }


hbase alter_status:

使用 Alter_status 命令获取 hbase 中表修改命令的记录。

语法:

    Alter_status '<表名>'

例子:

 查看student 表的所有修改记录。

alter_status 'student'