HBase命名空间的基本操作(附带实例)
读者可以使用 HBase Shell 命令行与 HBase 进行交互,HBase Shell 是一个封装了 Java API 的 JRuby 应用软件,只需在 HMaster 主机上输入 hbase shell 命令,就可以进入 HBase Shell 命令环境。
在 general 分组中有一些通用命令,例如:
命名空间与关系数据库系统中的数据库类似,是表的逻辑分组。对命名空间可以进行创建、删除、更改等操作,具体的 HBase Shell 命令操作如下。
1) 创建一个名为 ns1 的命名空间,具体代码如下:
2) 查看所有的命名空间,具体代码如下:
3) 查看命名空间 ns1 中的所有表,具体代码如下:
4) 查看命名空间属性信息,具体代码如下:
5) 删除命名空间 ns1,具体代码如下:
6) 增加或者更改命名空间的属性,具体代码如下:
lauf@master:~$ hbase shell # 进入HBase执行数据库操作 hbase(main):006:0> # 进入HBase Shell命令环境输入 help 后便可查看可用的命令分组,使用 help 'cmdname' 可以查看具体的命令帮助信息(注意这里的单引号是必须的,且语句结尾没有分号)。
在 general 分组中有一些通用命令,例如:
- status 命令可以查看集群节点的状态;
- version 命令可以查看当前的 HBase 版本;
- processlist 命令查看当前运行的任务;
- 使用 quit/exit 命令可以退出 HBase Shell 命令环境。
命名空间与关系数据库系统中的数据库类似,是表的逻辑分组。对命名空间可以进行创建、删除、更改等操作,具体的 HBase Shell 命令操作如下。
1) 创建一个名为 ns1 的命名空间,具体代码如下:
hbase(main):006:0> create_namespace 'ns1' 0 row(s) in 0.9890 seconds
2) 查看所有的命名空间,具体代码如下:
hbase(main):007:0> list_namespace NAMESPACE default hbase my1 ns1 4 row(s) in 0.0170 seconds
3) 查看命名空间 ns1 中的所有表,具体代码如下:
hbase(main):008:0> list_namespace_tables 'ns1' TABLE 0 row(s) in 0.0110 seconds
4) 查看命名空间属性信息,具体代码如下:
hbase(main):009:0> describe_namespace 'ns1' DESCRIPTION {NAME => 'ns1'} 1 row(s) in 0.0110 seconds
5) 删除命名空间 ns1,具体代码如下:
hbase(main):010:0> drop_namespace 'ns1' 0 row(s) in 0.8630 seconds
6) 增加或者更改命名空间的属性,具体代码如下:
# 使用格式 alter_namespace 'ns1',{METHOD => 'set','PROPERTY_NAME' => 'VALUE'} # 如增加一个info属性,其值为my namespace hbase(main):003:0> alter_namespace 'ns1',{METHOD => 'set','info' => 'my namespace'} 0 row(s) in 0.6170 seconds # 描述命名空间属性 hbase(main):004:0> describe_namespace 'ns1' DESCRIPTION {NAME => 'ns1', info => 'my namespace'} 1 row(s) in 0.0020 seconds # 删除info属性 hbase(main):005:0> alter_namespace 'ns1',{METHOD => 'unset',NAME => 'info'} 0 row(s) in 0.6110 seconds hbase(main):006:0> describe_namespace 'ns1' DESCRIPTION {NAME => 'ns1'} 1 row(s) in 0.0040 seconds