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设计

浙公网安备 33010602011771号