この機能は、2023 年 6 月 16 日以降に購入した Lindorm Tunnel Service (LTS) インスタンスではご利用いただけません。2023 年 6 月 16 日以前に購入した LTS インスタンスをお使いの場合は、引き続きこの機能をご利用いただけます。
LTS は、HBase の Write-Ahead Log (WAL) を読み取ることで、HBase の増分データを MaxCompute へアーカイブします。アーカイブされたデータは、キー・バリュー (KV) 形式から、MaxCompute で直接クエリ可能なパーティション付きワイドテーブルへマージされます。
サポート対象バージョン
| HBase ソース | 備考 |
|---|---|
| セルフマネージド HBase V1.x および HBase V2.x | — |
| E-MapReduce HBase | — |
| ApsaraDB for HBase Standard Edition | — |
| ApsaraDB for HBase Performance-enhanced Edition | クラスターモードのみ |
| Lindorm | — |
制限事項
LTS を使用したアーカイブは HBase のログに基づくため、バルクロードによるインポートデータはエクスポートできません。
ログデータのライフサイクル
アーカイブ機能を有効化した後、ログデータが消費されない場合、LTS ではデフォルトで 48 時間保持されます。48 時間経過後、サブスクリプションは自動的にキャンセルされ、保持中のデータも自動的に削除されます。
実行中のタスク中に LTS クラスターがリリースされた場合、または同期タスクが一時停止された場合、ログデータの消費に失敗することがあります。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
LTS の有効化
HBase データソースの追加
MaxCompute データソースの追加
増分データのアーカイブ
LTS の Web UI にログインします。左側のナビゲーションウィンドウで、[データエクスポート] > [増分アーカイブ (MaxCompute)] を選択します。

[新規ジョブの作成] をクリックします。ソースとなる HBase クラスターと送信先の MaxCompute リソースパッケージを選択し、エクスポート対象の HBase テーブルを指定します。

例として、
wal-testHBase テーブルのデータをリアルタイムで MaxCompute へアーカイブする構成を示します。アーカイブ対象カラム:
cf1:a、cf1:b、cf1:c、cf1:dmergeInterval:デフォルト値の86400000(1 日 1 回のアーカイブ)に設定mergeStartAt:20190930000000(2019 年 9 月 30 日 00:00)を開始時刻として指定。過去の時点を指定可能です。
アーカイブの進行状況を監視します。[リアルタイム同期チャネル] セクションでは、ログ同期タスクの遅延および開始オフセットが表示されます。[テーブルマージ] セクションでは、テーブルマージタスクが表示されます。マージが完了すると、新しいパーティションテーブルを MaxCompute でクエリ可能になります。
MaxCompute でデータをクエリします。

パラメーター
ジョブ設定の各行は、以下の形式で 1 つのテーブルエクスポートを指定します。
<hbaseTable>[/<odpsTable>] <tbConf><hbaseTable>:ソース HBase テーブル名。<odpsTable>:送信先 MaxCompute テーブル名(省略可)。デフォルトでは HBase テーブル名と同じ名称が使用されます。HBase テーブル名に含まれるハイフン (-) は、MaxCompute 上ではアンダースコア (_) に変換されます。<tbConf>:当該テーブルのアーカイブ構成を含む JSON オブジェクト。
例:
hbaseTable/odpsTable {"cols": ["cf1:a|string", "cf1:b|int", "cf1:c|long", "cf1:d|short", "cf1:e|decimal", "cf1:f|double", "cf1:g|float", "cf1:h|boolean", "cf1:i"], "mergeInterval": 86400000, "mergeStartAt": "20191008100547"}
hbaseTable/odpsTable {"cols": ["cf1:a", "cf1:b", "cf1:c"], "mergeStartAt": "20191008000000"}
hbaseTable {"mergeEnabled": false}tbConf オブジェクトでサポートされるパラメーターは以下のとおりです。
| パラメーター | 必須 | デフォルト | 説明 | 例 |
|---|---|---|---|---|
cols | いいえ | 各カラムごとの HexString | エクスポート対象カラムおよびそのデータの型を指定します。各カラムは <columnFamily>:<qualifier> または <columnFamily>:<qualifier>|<type> の形式で記述します。データの型を指定しない場合、値は HexString 形式でエクスポートされます。 | "cols": ["cf1:a|string", "cf1:b|int"] |
mergeEnabled | いいえ | true | KV テーブルをワイドテーブルへ変換するかどうかを指定します。false を設定すると、マージステップがスキップされます。 | "mergeEnabled": false |
mergeStartAt | いいえ | — | テーブルマージの開始時刻を yyyyMMddHHmmss 形式で指定します。既存データのバックフィルを行う場合は、過去の時点を指定できます。 | "mergeStartAt": "20191008000000" |
mergeInterval | いいえ | 86400000 | テーブルマージタスクの実行間隔(ミリ秒単位)。デフォルト値では 1 日 1 回のアーカイブが行われます。 | "mergeInterval": 86400000 |