HBase Java API 管理功能
# HBase Java API 管理功能
# 初始化 Admin 实例
Configuration conf = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(conf);
Admin admin = connection.getAdmin();
# 管理命名空间
# 查看命名空间
TableName[] tableNames = admin.listTableNamesByNamespace("test");
for (TableName tableName : tableNames) {
System.out.println(tableName.getName());
}
# 创建命名空间
NamespaceDescriptor namespace = NamespaceDescriptor.create("test").build();
admin.createNamespace(namespace);
# 修改命名空间
NamespaceDescriptor namespace = NamespaceDescriptor.create("test")
.addConfiguration("Description", "Test Namespace")
.build();
admin.modifyNamespace(namespace);
# 删除命名空间
admin.deleteNamespace("test");
# 管理表
# 创建表
TableName tableName = TableName.valueOf("test:test");
HTableDescriptor tableDescriptor = new HTableDescriptor(tableName);
HColumnDescriptor columnDescriptor = new HColumnDescriptor(Bytes.toBytes("cf"));
tableDescriptor.addFamily(columnDescriptor);
admin.createTable(tableDescriptor);
# 删除表
admin.deleteTable(TableName.valueOf("test:test"));
# 修改表
// 原始表
TableName tableName = TableName.valueOf("test:test");
HColumnDescriptor columnDescriptor = new HColumnDescriptor("cf1");
HTableDescriptor tableDescriptor = new HTableDescriptor(tableName)
.addFamily(columnDescriptor)
.setValue("Description", "Original Table");
admin.createTable(tableDescriptor, Bytes.toBytes(1L), Bytes.toBytes(10000L), 50);
// 修改表
HTableDescriptor newTableDescriptor = admin.getTableDescriptor(tableName);
HColumnDescriptor newColumnDescriptor = new HColumnDescriptor("cf2");
newTableDescriptor.addFamily(newColumnDescriptor)
.setMaxFileSize(1024 * 1024 * 1024L)
.setValue("Description", "Modified Table");
// 修改表必须先禁用再想修改
admin.disableTable(tableName);
admin.modifyTable(tableName, newTableDescriptor);
# 禁用表
需要注意:HBase 表在删除前,必须先禁用。
admin.disableTable(TableName.valueOf("test:test"));
# 启用表
admin.enableTable(TableName.valueOf("test:test"));
# 查看表是否有效
boolean isOk = admin.isTableAvailable(tableName);
System.out.println("Table available: " + isOk);
# 参考资料
📝 帮助改善此页面! (opens new window)
上次更新: 2024/10/09, 07:16:02