Todos os produtos
Search
Central de documentação

Lindorm:Use a ApsaraDB for HBase API for Java para desenvolver aplicações

Última atualização: Aug 24, 2026

O LindormTable permite usar a ApsaraDB for HBase API for Java para ler e gravar dados. Este tópico descreve como usar a ApsaraDB for HBase API for Java para se conectar ao LindormTable.

Pré-requisitos

  • Java Development Kit (JDK) V1.8 ou posterior instalado.

  • Endereço IP do cliente adicionado à lista de permissões da instância Lindorm. Para mais informações, consulte Configure a whitelist.

  • ApsaraDB for HBase SDK for Java instalado. Para mais informações, consulte Install ApsaraDB for HBase SDK for Java.

Procedimento

  1. Crie um objeto de configuração e defina o endpoint, o nome de usuário e a senha para conexão com o LindormTable.

    // Create a configuration object.
    Configuration conf = HBaseConfiguration.create();
    Specify the endpoint used to connect to LindormTable by using ApsaraDB for HBase SDK for Java.
    conf.set("hbase.zookeeper.quorum", "host:port");
    // xml_template.comment.hbaseue.username_password.default
    conf.set("hbase.client.username", "Username");
    conf.set("hbase.client.password", "Password");

    Parâmetro

    Exemplo

    Como obter o valor do parâmetro

    host:port

    ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020

    Endpoint do LindormTable exibido após clicar em Access by Using HBase Java API na aba Wide Table Engine do console Lindorm.

    Importante
    • Se a aplicação estiver implantada em uma instância Elastic Compute Service (ECS), conecte-se à instância Lindorm por meio de uma Virtual Private Cloud (VPC) para garantir maior segurança e menor latência de rede. Para mais informações sobre como obter o endpoint do LindormTable para VPC, consulte View endpoints.

    • Se a aplicação estiver em um servidor local e precisar se conectar à instância Lindorm pela Internet, ative o endpoint público no console Lindorm: no painel de navegação à esquerda, selecione Database Connections > Wide Table Engine. Na aba Wide Table Engine, clique em Enable Public Endpoint.

    Nome de usuário

    testuser

    Nome de usuário e senha usados para conectar à instância Lindorm. Se esquecer a senha, altere-a no sistema de gerenciamento de cluster do LindormTable. Para mais informações, consulte Change the password of a user.

    Senha

    password

  2. Estabeleça a conexão usando o objeto de configuração criado na Etapa 1.

    Connection connection = ConnectionFactory.createConnection(conf);
    Nota

    Crie a conexão apenas uma vez durante o ciclo de vida do programa. A conexão é thread-safe e pode ser compartilhada entre todas as threads. // Após o término da execução do programa, feche o objeto Connection para evitar vazamento de conexões. Também é possível usar a instrução try-finally para prevenir esse problema.

  3. Após estabelecer a conexão, use a ApsaraDB for HBase API for Java para acessar o LindormTable. Consulte os exemplos de código Java a seguir.

    • Operações DDL

      try (Admin admin = connection.getAdmin()){
          // Create a table.
          HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("tablename"));
          htd.addFamily(new HColumnDescriptor(Bytes.toBytes("family")));
          // Create a table that has only one partition.
          // If you create a table in a production environment, we recommend that you partition the table in advance based on the data characteristics.
          admin.createTable(htd);
      
          // Disable a table.
          admin.disableTable(TableName.valueOf("tablename"));
      
          // Clear all data in a table. You must disable a table before you clear all data in it.
          admin.truncateTable(TableName.valueOf("tablename"), true);
      
          // Delete a table. You must disable a table before you delete it.
          admin.deleteTable(TableName.valueOf("tablename"));
      }
    • Operações DML

      // A table is a non-thread-safe object. When a thread performs operations on a table, the thread must obtain the required table from the Connection object.
      try (Table table = connection.getTable(TableName.valueOf("tablename"))) {
          // Insert data.
          Put put = new Put(Bytes.toBytes("row"));
          put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value"));
          table.put(put);
      
          // Read a single row of data.
          Get get = new Get(Bytes.toBytes("row"));
          Result res = table.get(get);
      
          // Delete a row of data.
          Delete delete = new Delete(Bytes.toBytes("row"));
          table.delete(delete);
      
          // Scan the data within the specified range.
          Scan scan = new Scan(Bytes.toBytes("startRow"), Bytes.toBytes("endRow"));
          ResultScanner scanner = table.getScanner(scan);
          for (Result result : scanner) {
              // Process the result.
              System.out.println(result.toString());
          }
          scanner.close();
      }