- Hbase Shell
Hbase Shell是一个基于Ruby的语言开发的命令行操作环境。在HMaser主机上,可以通过命令行键入hbase shell,进入Hbase的命令行环境,进入Hbase Shell后会看到类似如下形式的命令提示符:
hbase(main):002:0>
在Shell模式下,可以对集群、数据表和数据进行各项常规操作(如集群的宏观情况)进行查看,可以使用如下命令。
(1)version:显示当前Hbase的版本号。
(2)status:显示各主节点的状态,之后可以加入参数。
(3)whoami:显示当前用户名。
退出Shell模式时,可以采用以下命令。
exit或quit:退出Hbase Shell。
- 表和列族操作
Hbase的表结构(schema)只有表名和列族两项内容。但列族的属性很多,在建立和修改表结构时,可以对列族的数量和属性进行设定。
在Hbase Shell中操作表有以下Shell命令。
(1)create:创建表
(2)alter:修改表结构
(3)describe:描述表结构
(4)exist:确认表是否存在
(5)list:显示所有表名列表
(6)disable/enable:禁用/解禁一个表
(7)disable_all/enable_all:禁用/解禁所有表
(8)is_disabled:确认表是否被禁用
(9)drop/drop_all:删除一个或全部表
(10)truncate:禁用、删除并重建一个表
1.创建表
在创建表时,必须要指明两个参数:表名和列族的名字,列族可以不止一个。同时可以对表和列族指明一些参数。创建表采用create命令,示例命令如下:
create 'player','basic'
create 'player','basic'.'advanced'
create 'player','basic',MAX_FILESIAE=>'134217728'
2.查看表名列表
创建表之后,可以通过list命令查看当前所有表名,或者采用exist命令查看:
exist 'player'
3.描述表结构
还可以通过describe命令查看选定表的列族及其参数。
describe 'player'
4.修改表结构
如果在创建之后,要对表结构进行修改,如增加列族或修改列族参数,可以使用alter命令。下列两条指令都会在表中增加一个advanced列族。
alter 'player','advanced'
alter 'player','basic',{NAME => 'advanced', IN_MEMORY => true}
5.删除表
受Hbase数据写入机制的影响,在删除表之前,需要先将表禁用,再进行删除:
disable 'player'
可以用is_disabled指令查看禁用是否完成:
is_disabled 'player'
删除表:
drop 'player'
下列命令可以顺序完成禁用、删除表和所有数据,并按原结构重新建立空表,也就是说将原有表中所有数据清空:
truncate 'player'