hbase创建namespace,及创建表时指定namespace

转自: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,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值