文档简介:
Region 预分区
功能简介
本例使用多点分割将HBase表按照“-∞~A”、“A~C”、“C~G”、
“G~I”、“I~+∞”分为五个Region。
以下代码片段在cn.chinatelecom.hbase.sample包的“MOBSample”类的
createTableBySplitKeys方法中。
public void createTableBySplitKeys() {
log.info("Entering createTableBySplitKeys.");
try (Admin admin = conn.getAdmin()) {
ColumnFamilyDescriptor columnFamily = ColumnFamilyDescriptorBuilder
.newBuilder(CF.getBytes())
.build();
TableDescriptor tableDescriptor = TableDescriptorBuilder
.newBuilder(tableName)
.setColumnFamily(columnFamily)
.build();
byte[][] splitKeys = new byte[4][];
splitKeys[0] = "A".getBytes();
splitKeys[1] = "C".getBytes();
splitKeys[2] = "G".getBytes();
splitKeys[3] = "I".getBytes();
admin.createTable(tableDescriptor, splitKeys);
log.info("createTableBySplitKeys successfully.");
} catch (Exception e) {
log.error("MultiSplit failed.",e);
}
log.info("Exiting createTableBySplitKeys.");
}
注意:预分区操作只能在建表时起作用。