HBase JavaAPI 对表的操作(DDL)

【方法】连接HBase库,并判断某个表是否存在:

     private static boolean isTableExist(String tableName) {

            //获取配置信息

            HBaseConfiguration config =  HBaseConfiguration.create();

            //连接ZK即可连接到HBase库

            config.set("hbase.zookeeper.quorum", "192.168.xxx.xxx"); 

            //创建Connection

            Connection connection = ConnectionFactory.createConnection(config);

            //创建客户端

            Admin admin = connection.getAdmin();

            //判断操作

            boolean exists = admin.tableExists(TableName.valueOf(tableName));

            //关闭连接

            admin.close();

            return exists;

    }

【方法】创建表:

          public static void createTable(String tableName, String... cfs){

                   //判断列族的合法性

                   if(cfs.length <= 0){

                           System.out.println("未设置任何列族信息!");

                           return;

                   }

                  //判定表是否存在

                  if(isTableExist(tableName)){

                           System.out.println("该表已存在!");

                           return;

                  }

                  //创建表描述器

                  HTableDescriptor hTableDescriptor = new HTableDescriptor(TableName.valueOf(tableName));

                  //为表描述器添加列族信息

                  for(String cf : cfs){

                           hTableDescriptor.addFamily(new HColumnDescriptor(cf));

                 }

                  //创建表的操作(可以把admin客户端对象作为静态属性,在静态代码块中进行赋值,这儿就可以直接用了)

                  admin.createTable(hTableDescriptor);

          }

【方法】删除表:

         public static void deleteTable(String tableName){

               //判断表是否存在

               if(!isTableExist(tableName)){

                        System.out.println(tableName + "表不存在!");

                        return;

              }

              //使表下线

              admin.disableTable(TableName.valueOf(tableName));

              //删除表

              admin.deleteTable(TableName.valueOf(tableName));

        }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值