DB-TUTORIAL DB-TUTORIAL
数据库综合
数据库中间件
  • 综合
  • Mysql
  • 其他
  • MongoDB
  • Redis
  • Elasticsearch
  • Elastic技术栈
GitHub (opens new window)
数据库综合
数据库中间件
  • 综合
  • Mysql
  • 其他
  • MongoDB
  • Redis
  • Elasticsearch
  • Elastic技术栈
GitHub (opens new window)
  • 数据库综合

  • 数据库中间件

  • 关系型数据库

  • 文档数据库

  • KV数据库

  • 列式数据库

    • HBase

      • HBase 快速入门
      • HBase 数据模型
      • HBase Schema 设计
      • HBase 架构
      • HBase Java API 基础特性
      • HBase Java API 高级特性之过滤器
      • HBase Java API 高级特性之协处理器
      • HBase Java API 其他高级特性
      • HBase Java API 管理功能
        • 初始化 Admin 实例
        • 管理命名空间
          • 查看命名空间
          • 创建命名空间
          • 修改命名空间
          • 删除命名空间
        • 管理表
          • 创建表
          • 删除表
          • 修改表
          • 禁用表
          • 启用表
          • 查看表是否有效
        • 参考资料
      • HBase 运维
      • HBase 命令
    • Cassandra
  • 搜索引擎数据库

  • 数据库
  • 列式数据库
  • HBase
dunwu
2023-04-13
目录

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);

# 参考资料

  • 《HBase 权威指南》 (opens new window)
  • 《HBase 权威指南》官方源码 (opens new window)
  • 连接 HBase 的正确姿势 (opens new window)
📝 帮助改善此页面! (opens new window)
#大数据#HBase#API
上次更新: 2024/10/09, 07:16:02
HBase Java API 其他高级特性
HBase 运维

← HBase Java API 其他高级特性 HBase 运维→

最近更新
01
HBase Java API 其他高级特性
03-31
02
HBase 数据模型
03-16
03
HBase Java API 高级特性之协处理器
03-16
更多文章>
Theme by Vdoing | Copyright © 2019-2024 钝悟(dunwu) | CC-BY-SA-4.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×