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

Tablestore:HBase クライアントから Tablestore HBase クライアントへの移行

最終更新日:Jan 21, 2025

Tablestore HBase Client は、HBase Client をベースにカプセル化されています。HBase Client と比較すると、Tablestore HBase Client は同様の方法で使用されますが、いくつか異なる点があります。このトピックでは、HBase Client から Tablestore HBase Client への移行方法について説明します。

手順

手順 1: Tablestore HBase クライアントの依存関係をインポートする

以下のコードは、Tablestore HBase Client V2.0.12 の pom.xml 構成ファイルの内容を示しています。

 <dependencies>
    <dependency>
        <groupId>com.aliyun.openservices</groupId>
        <artifactId>tablestore-hbase-client</artifactId>
        <version>2.0.12</version>
    </dependency>
</dependencies>		

手順 2:構成ファイルを修正する

HBase Client から Tablestore HBase Client に移行するには、hbase-site.xml 構成ファイルで HBase 接続のタイプを変更し、Tablestore のパラメーターを追加します。

1. HBase 接続の種類を変更する

TablestoreConnection に HBase 接続タイプを設定します。

<property>
    <name>hbase.client.connection.impl</name>
    <value>com.alicloud.tablestore.hbase.TablestoreConnection</value>
</property>				

2. Tablestore のパラメーターを追加します。

Tablestore は、厳格な権限管理を提供するクラウドサービスです。Tablestore にアクセスするには、AccessKey ペアや Tablestore インスタンスなどの必須パラメーターを構成する必要があります。ビジネス要件に基づいて、オプションのパラメーターを構成することもできます。

  • 必須パラメーター

    AccessKey ペアやインスタンスなどの必須パラメーターを構成してから、Tablestore にアクセスできます。tablestore.client.endpoint は、アクセスする Tablestore インスタンスのエンドポイントを指定します。tablestore.client.instancename は、アクセスする Tablestore インスタンスの名前を指定します。tablestore.client.accesskeyidtablestore.client.accesskeysecret は、Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの AccessKey ID と AccessKey シークレットを指定します。

    <property>
        <name>tablestore.client.endpoint</name>
        <value>https://exampleinstance.cn-hangzhou.ots.aliyuncs.com</value>
    </property>
    <property>
        <name>tablestore.client.instancename</name>
        <value>exampleinstance</value>
    </property>
    <property>
        <name>tablestore.client.accesskeyid</name>
        <value>*****************</value>
    </property>
    <property>
        <name>tablestore.client.accesskeysecret</name>
        <value>***********</value>
    </property>							
  • オプション パラメーター

    次のサンプルコードを参照して、アクセスするテーブルの名前、最大接続数、タイムアウト期間などのオプションのパラメーターを構成できます。

    <property>
        <name>hbase.client.tablestore.family</name>
        <value>f1</value>
    </property>
    <property>
        <name>hbase.client.tablestore.family.$tablename</name>
        <value>f2</value>
    </property>
    <property>
        <name>tablestore.client.max.connections</name>
        <value>300</value>
    </property>
    <property>
        <name>tablestore.client.socket.timeout</name>
        <value>15000</value>
    </property>
    <property>
        <name>tablestore.client.connection.timeout</name>
        <value>15000</value>
    </property>
    <property>
        <name>tablestore.client.operation.timeout</name>
        <value>2147483647</value>
    </property>
    <property>
        <name>tablestore.client.retries</name>
        <value>3</value>
    </property>						

    次の表に、オプションのパラメーターについて説明します。

    パラメーター

    説明

    hbase.client.tablestore.family

    Tablestore は単一カラムファミリーのみをサポートしています。HBase API を呼び出すときは、ファミリーのコンテンツを指定する必要があります。

    hbase.client.tablestore.familyhbase.client.tablestore.family.$tablename はグローバル構成を指定し、 は単一テーブルの構成を指定します。

    テーブル T の場合は、hbase.client.tablestore.family.T を検索します。ファミリーが存在しない場合は、hbase.client.tablestore.family を検索します。ファミリーが存在しない場合は、デフォルト値 f を使用します。

    hbase.client.tablestore.family.$tablename

    tablestore.client.max.接続数

    最大接続数。既定値: 300。

    tablestore.client.socket.timeout

    ソケットのタイムアウト期間。単位: 秒。既定値: 15。

    tablestore.client.connection.timeout

    接続タイムアウト期間。単位:秒。既定値:15。

    tablestore.client.operation.タイムアウト

    API のタイムアウト期間。デフォルト値: Integer.MAX_VALUE 。デフォルト値は、API がタイムアウトしないことを指定します。

    tablestore.client.retries

    リクエストエラー時のリトライ回数。デフォルト値:3。

関連情報

HBase から Tablestore にデータを移行する方法については、「Data Integration」をご参照ください。