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.accesskeyidとtablestore.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」をご参照ください。