すべてのプロダクト
Search
ドキュメントセンター

Lindorm:Java 版 ApsaraDB for HBase API を使用したアプリケーション開発

最終更新日:Aug 25, 2026

LindormTable では、Java 版 ApsaraDB for HBase API を使用してデータを読み書きできます。このトピックでは、Java 版 ApsaraDB for HBase API を使用して LindormTable に接続する方法について説明します。

前提条件

  • Java Development Kit (JDK) V1.8 以降がインストールされていること。

  • クライアントの IP アドレスが Lindorm インスタンスのホワイトリストに追加されていること。詳細については、「ホワイトリストの設定」をご参照ください。

  • Java 版 ApsaraDB for HBase SDK がインストールされていること。詳細については、「Java 版 ApsaraDB for HBase SDK のインストール」をご参照ください。

操作手順

  1. 設定オブジェクトを作成し、LindormTable への接続に使用するエンドポイント、ユーザー名、パスワードを設定します。

    // 設定オブジェクトを作成します。
    Configuration conf = HBaseConfiguration.create();
    // Java 版 ApsaraDB for HBase SDK を使用して LindormTable に接続するためのエンドポイントを指定します。
    conf.set("hbase.zookeeper.quorum", "host:port");
    // ユーザー名とパスワードを設定します。
    conf.set("hbase.client.username", "Username");
    conf.set("hbase.client.password", "Password");

    パラメーター

    例

    パラメーター値の取得方法

    host:port

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

    Lindorm コンソールの [ワイドテーブルエンジン] タブにある [HBase Java API を使用したアクセス] の後に表示される LindormTable エンドポイント。

    重要
    • アプリケーションが Elastic Compute Service (ECS) インスタンスにデプロイされている場合、セキュリティを強化し、ネットワーク遅延を低減するために、Virtual Private Cloud (VPC) 経由で Lindorm インスタンスに接続することを推奨します。VPC 向けの LindormTable エンドポイントの取得方法の詳細については、「エンドポイントの表示」をご参照ください。

    • アプリケーションがローカルサーバーにデプロイされており、インターネット経由で Lindorm インスタンスに接続する必要がある場合は、Lindorm コンソールで次の手順を実行して、インスタンスのパブリックエンドポイントを有効にできます。左側のナビゲーションウィンドウで、[データベース接続] > [ワイドテーブルエンジン] を選択します。[ワイドテーブルエンジン] タブで、[パブリックエンドポイントの有効化] をクリックします。

    ユーザー名

    testuser

    Lindorm インスタンスへの接続に使用するユーザー名とパスワード。パスワードを忘れた場合は、LindormTable のクラスター管理システムでパスワードを変更できます。詳細については、「ユーザーのパスワード変更」をご参照ください。

    パスワード

    password

  2. 手順 1 で作成した設定オブジェクトを使用して、接続を確立します。

    Connection connection = ConnectionFactory.createConnection(conf);
    説明

    Connection はプログラムのライフサイクル中に一度だけ作成されます。この Connection はスレッドセーフであり、すべてのスレッドで共有できます。プログラムの実行が停止したら、コネクションリークを防ぐために Connection オブジェクトを閉じてください。try-finally 文を実行してコネクションリークを防ぐこともできます。

  3. 接続が確立されたら、Java 版 ApsaraDB for HBase API を使用して LindormTable にアクセスします。次の Java サンプルコードを使用できます。

    • DDL 操作

      try (Admin admin = connection.getAdmin()){
          // テーブルを作成します。
          HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("tablename"));
          htd.addFamily(new HColumnDescriptor(Bytes.toBytes("family")));
          // パーティションが 1 つだけのテーブルを作成します。
          // 本番環境でテーブルを作成する場合は、データ特性に基づいて事前にテーブルをパーティション分割することを推奨します。
          admin.createTable(htd);
      
          // テーブルを無効化します。
          admin.disableTable(TableName.valueOf("tablename"));
      
          // テーブル内のすべてのデータをクリアします。テーブル内のすべてのデータをクリアする前に、テーブルを無効化する必要があります。
          admin.truncateTable(TableName.valueOf("tablename"), true);
      
          // テーブルを削除します。テーブルを削除する前に、テーブルを無効化する必要があります。
          admin.deleteTable(TableName.valueOf("tablename"));
      }
    • DML 操作

      // Table はスレッドセーフではないオブジェクトです。スレッドがテーブルに対して操作を実行する場合、そのスレッドは Connection オブジェクトから必要なテーブルを取得する必要があります。
      try (Table table = connection.getTable(TableName.valueOf("tablename"))) {
          // データを挿入します。
          Put put = new Put(Bytes.toBytes("row"));
          put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value"));
          table.put(put);
      
          // 1 行のデータを読み取ります。
          Get get = new Get(Bytes.toBytes("row"));
          Result res = table.get(get);
      
          // 1 行のデータを削除します。
          Delete delete = new Delete(Bytes.toBytes("row"));
          table.delete(delete);
      
          // 指定された範囲内のデータをスキャンします。
          Scan scan = new Scan(Bytes.toBytes("startRow"), Bytes.toBytes("endRow"));
          ResultScanner scanner = table.getScanner(scan);
          for (Result result : scanner) {
              // 結果を処理します。
              System.out.println(result.toString());
          }
          scanner.close();
      }