Tous les produits
Search
Centre de documentation

Lindorm:Développer des applications avec l'API ApsaraDB for HBase pour Java

Dernière mise à jour :Aug 24, 2026

LindormTable vous permet de lire et d'écrire des données à l'aide de l'API ApsaraDB for HBase pour Java. Cette rubrique explique comment utiliser cette API pour vous connecter à LindormTable.

Prérequis

Procédure

  1. Créez un objet de configuration et spécifiez l'endpoint, le nom d'utilisateur et le mot de passe utilisés pour la connexion à 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");

    Paramètre

    Exemple

    Méthode d'obtention de la valeur du paramètre

    host:port

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

    L'endpoint LindormTable affiché après avoir cliqué sur Access by Using HBase Java API dans l'onglet Wide Table Engine de la console Lindorm.

    Important
    • Si votre application est déployée sur une instance Elastic Compute Service (ECS), nous vous recommandons de vous connecter à l'instance Lindorm via un réseau privé virtuel (VPC) pour bénéficier d'une sécurité accrue et d'une latence réseau réduite. Pour obtenir l'endpoint LindormTable dédié au VPC, consultez la page Afficher les endpoints.

    • Si votre application est hébergée sur un serveur local et doit se connecter à l'instance Lindorm via Internet, activez l'endpoint public de l'instance depuis la console Lindorm en suivant ces étapes : dans le volet de navigation de gauche, sélectionnez Database Connections > Wide Table Engine. Dans l'onglet Wide Table Engine, cliquez sur Enable Public Endpoint.

    Nom d'utilisateur

    testuser

    Le nom d'utilisateur et le mot de passe utilisés pour la connexion à l'instance Lindorm. Si vous avez oublié le mot de passe, vous pouvez le modifier depuis le système de gestion de cluster de LindormTable. Pour plus de détails, voir Modifier le mot de passe d'un utilisateur.

    Mot de passe

    password

  2. Établissez la connexion à l'aide de l'objet de configuration créé à l'étape précédente.

    Connection connection = ConnectionFactory.createConnection(conf);
    Remarque

    La connexion n'est créée qu'une seule fois durant le cycle de vie du programme. Elle est thread-safe et peut être partagée entre tous les threads. // Une fois l'exécution du programme terminée, fermez l'objet Connection afin d'éviter toute fuite de connexion. Vous pouvez également utiliser une instruction try-finally pour prévenir ce type de fuite.

  3. Une fois la connexion établie, utilisez l'API ApsaraDB for HBase pour Java afin d'accéder à LindormTable. Le code Java ci-dessous illustre cette démarche.

    • Opérations 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"));
      }
    • Opérations 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();
      }