Hbase表的创建过程以及预分区与RowKey设计

Hbase表的创建过程:

  1.首先获得一个conf对象    

Configuration conf = HBaseConfiguration.create();
  2.配置zookeeper节点与端口号
conf.set("hbase.zookeeper.quorum", "node01,node02,node03");    
conf.set("hbase.zookeeper.property.clientPort", "2181"); 
  3.获得一个connection对象
hbaseConn= ConnectionFactory.createConnection(conf);
  4.创建一个管理员对象进行表的操作   
Admin admin = hbaseConn.getAdmin();
  5.判断该表是否存在,存在则删除
    if (admin.tableExists(TableName.valueOf(tablename))) {
      admin.disableTable(TableName.valueOf(tablename));
      admin.deleteTable(TableName.valueOf(tablename));
    }
  6.创建TableDescriptor和ColumnDescriptor
    HTableDescriptor hTableDescriptor = new HTableDescriptor(tablename);
        HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(Constants.DEFAULT_FAMILY);
        hTableDescriptor.addFamily(hColumnDescriptor);

  7.创建table,并指定预分区数

createTable(hTableDescriptor, splitKey);

  8.预分区代码

private byte[][] getSplitKey(Integer defaultRegionNum) {
        byte[][] byteNum = new byte[defaultRegionNum][];
        for (int i = 0; i < defaultRegionNum; i++) {
            String left = StringUtils.leftPad(i + "", 4, "0");
            byteNum[i] = Bytes.toBytes(left + "|");
        }
        return byteNum;
    }

  9.rowkey设计

 
 
 
posted @ 2020-04-10 21:44  少年时。  阅读(513)  评论(0)    收藏  举报