转自:http://blog.sina.com.cn/s/blog_7de580090102v117.html
public static void createTableAndNameSpace(String spaceName,String tableName) throws IOException {
//创建namespace,名称只能是 alphanumeric characters,字母数字字符,
admin.createNamespace(NamespaceDescriptor.create(spaceName).build());
//然后创建表,指定属于哪个namespace,否则是默认namespace default,表名格式为 namespName:tableName
//如果没有namesp不存在,需要进行第一步,否则会创建表失败
TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(TableName.valueOf(spaceName+":"+tableName));
ColumnFamilyDescriptorBuilder cfDescriptorBuilder = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("cf1"));
ColumnFamilyDescriptor cfDescriptor = cfDescriptorBuilder.build();
builder.setColumnFamily(cfDescriptor);
//创建表
admin.createTable(builder.build());
System.out.println("创建NameSpace"+spaceName+"和表"+tableName+"成功");
admin.close();
}
可以存在相同的表名,分别在两个不同的namespace,
创建表时,不指定namespace,属于默认的namespace,default;
创建表时,指定namespace,即表名为 namespaceName:tableName,如果namespace不存在,创建表会失败,需要先创建namespace,