HBase命名空间

1.什么是命名空间?

我的理解就是:对hbase中表的逻辑划分,就类似于c#语言中的命名空间【对代码进行分类】一样。

2.针对命名空间,基本的操作如下:

//1.创建一个命名空间:"haha"
hbase(main):001:0> create_namespace 'haha'
0 row(s) in 1.0220 seconds

//2.查看命名空间:"haha"
hbase(main):003:0> describe_namespace 'haha'
DESCRIPTION
{NAME => 'haha'}
1 row(s) in 0.0160 seconds

//3.列举出所有的命名空间
hbase(main):004:0> list_namespace
NAMESPACE
default //用户建表未指定命名空间时的默认命名空间
haha
hbase //系统内建表,包括namespace和meta表
3 row(s) in 0.0190 seconds

//4.在某命名空间中创建表
hbase(main):005:0> create 'haha:wowo','info'
0 row(s) in 1.2680 seconds

=> Hbase::Table - haha:wowo

//查看所有的表
hbase(main):006:0> list
TABLE
emploe
employee
haha:wowo//以命名空间开头,并以表名结尾
stude
student1
users
6 row(s) in 0.0190 seconds

=> ["emploe", "employee", "haha:wowo", "stude", "student1", "users"]

//5.列出某命名空间下的所有表
hbase(main):008:0> list_namespace_tables 'haha'
TABLE
wowo
1 row(s) in 0.0150 seconds

3.对于命名空间,TableName中的源代码这个介绍:

Two special namespaces:
1. hbase - system namespace, used to contain hbase internal tables
2. default - tables with no explicit specified namespace will automatically fall into this namespace.
ie a) foo:bar, means namespace=foo and qualifier=bar
b) bar, means namespace=default and qualifier=bar
c) default:bar, means namespace=default and qualifier=bar