この機能は、2023 年 6 月 16 日以降に購入された Lindorm Tunnel Service (LTS) インスタンスでは利用できなくなりました。ご利用の LTS インスタンスが 2023 年 6 月 16 日より前に購入されたものである場合は、引き続きこの機能をご利用いただけます。
LTS を使用して、HBase データの完全なスナップショットを MaxCompute にエクスポートし、アーカイブや大規模分析に利用できます。LTS は、KV モードとワイドテーブルモードの 2 つの出力モードをサポートしているため、下流のワークロードに合わせたスキーマを選択できます。
サポートされるバージョン
以下の HBase ソースがサポートされています:
セルフマネージド HBase V1.x および V2.x
E-MapReduce HBase
ApsaraDB for HBase Standard Edition
ApsaraDB for HBase Performance-enhanced Edition (クラスターモード)
ApsaraDB for Lindorm (Lindorm)
前提条件
開始する前に、以下が完了していることを確認してください:
LTS を購入し、LTS Web UI のユーザー名とパスワードを設定してログインが完了していること。詳細については、「LTS の有効化と LTS Web UI へのログイン」をご参照ください。
HBase データソースが追加されていること。
MaxCompute データソースが追加されていること。
エクスポートモードの選択
LTS は、HBase データを MaxCompute にエクスポートするための 2 つのモードをサポートしています。ジョブを作成する前に、以下の比較をご確認ください。
| KV モード | ワイドテーブルモード | |
|---|---|---|
| 出力スキーマ | キーバリュー (KV) ペアごとに 1 行 — rowkey、バージョン、操作タイプ、カラムファミリー、修飾子、値を含む | HBase の行ごとに 1 行 — 指定された各カラムが MaxCompute のカラムになる |
| カラムの選択 | 不要 | 必須 — カラムを明示的に指定 |
| データ型の制御 | 値は HexString としてエクスポート | カラムごとに型 (string、int、long、short、decimal、double、float、boolean) を指定。デフォルトは HexString |
| 最適な用途 | 完全な変更履歴の保持、CDC スタイルのユースケース | 各カラムが既知の型にマッピングされる構造化分析 |
エクスポートジョブの作成
LTS Web UI の左側のナビゲーションウィンドウで、[データエクスポート] > [MaxCompute への全データアーカイブ] に移動します。
「Lindorm/HBase アーカイブから MaxCompute へ」ページで、[新しいジョブの作成] をクリックします。
ソースクラスターと送信先クラスターを選択し、移行するテーブルを入力して、[作成] をクリックします。

ジョブ名をクリックして、移行の進捗をモニターします。
ジョブが完了したら、MaxCompute コンソールにログインして、エクスポートされたデータをクエリします。

エクスポートパラメーターの設定
ジョブは、テーブルマッピングの後に JSON オブジェクトとしてパラメーターを受け入れます。基本的な構文は次のとおりです:
<hbaseTable>[/<odpsTable>] <json-parameters><hbaseTable>:ソース HBase テーブルの名前。<odpsTable>(オプション):ターゲット MaxCompute テーブルの名前。省略した場合、デフォルトでは HBase テーブル名が使用されますが、その際ハイフン (-) とピリオド (.) はアンダースコア (_) に置き換えられます。
KV モード
tablexxx {"tableMode": "KVTable"}エクスポートされた各行は、HBase の 1 つの KV ペアを表します。MaxCompute テーブルには、次のカラムが含まれます:

| カラム | 説明 |
|---|---|
rowkey | KV ペアの rowkey |
version | KV ペアのバージョン |
op | 操作タイプ。有効な値:Put、DeleteFamily、DeleteColumn |
family | カラムファミリー |
qualifier | カラム名 |
value | 値。HexString フォーマットに変換されます |
ワイドテーブルモード
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["cf1:string|string", "cf1:int|int", "cf1:double|double"]}cols 配列でエクスポートするカラムを指定します。各エントリは <family>:<qualifier> または <family>:<qualifier>|<type> のフォーマットを使用します。型を省略した場合、値はデフォルトで HexString としてエクスポートされます。
サポートされている型:string、int、long、short、decimal、double、float、boolean
例:
デフォルトの HexString エンコーディングでカラムをエクスポートする場合:
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a", "f1:b", "f1:c"]}明示的な型変換でカラムをエクスポートする場合:
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a|string", "f1:b|boolean"]}応答スキーマ:

rowkey の範囲または時間範囲によるフィルタリング
ジョブパラメーターに startKey、endKey、startTs、または endTs を追加して、エクスポートするデータを制限します。KV モードとワイドテーブルモードの両方で、これらのフィルターがサポートされています。
table1 {"startKey": "xxx", "endKey": "zzz", "startTs": "20191001153000", "endTs": "20191001233000"}| パラメーター | 説明 | フォーマット |
|---|---|---|
startKey | rowkey 範囲の開始 | String |
endKey | rowkey 範囲の終了 | String |
startTs | 時間範囲の開始 | yyyyMMddHHmmss |
endTs | 時間範囲の終了 | yyyyMMddHHmmss |
ワイドテーブルモードですべてのフィルターを適用した完全な例:
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a|string", "f1:b|boolean"], "startTs": "20190101000000", "endTs": "20200101000000", "startKey": "a", "endKey": "z"}異なる名前の MaxCompute テーブルへのエクスポート
デフォルトでは、MaxCompute テーブル名は HBase テーブル名と一致しますが、ハイフン (-) とピリオド (.) はアンダースコア (_) に置き換えられます。異なる名前を使用するには、odpsTable を明示的に指定します:
hbaseTable/odpsTable {"tableMode": "KVTable"}hbaseTable をソース HBase テーブル名に、odpsTable をターゲット MaxCompute テーブル名に置き換えます。