このトピックでは、HBaseクラスターの増分データをMaxComputeにアーカイブする方法について説明します。
使用上の注意
この機能は、2023年6月16日以降に購入されたLindorm Tunnel Service(LTS)インスタンスでは使用できなくなりました。 LTSインスタンスが2023年6月16日より前に購入された場合は、引き続きこの機能を使用できます。
前提条件
LTSがアクティブ化されている。
HBaseデータソースが追加されている。
MaxComputeデータソースが追加されている。
サポートされているバージョン
セルフマネージド HBase V1.x および HBase V2.x
Elastic MapReduce(EMR) HBase
ApsaraDB for HBase Standard Edition、クラスターモードで実行されるApsaraDB for HBase Performance-enhanced Edition、およびLindorm
制限事項
リアルタイムデータはHBaseログに基づいてアーカイブされます。そのため、バルクロードを使用してインポートされたデータはエクスポートできません。
ログデータのライフサイクル
アーカイブ機能を有効にした後、ログデータが使用されない場合、ログデータはデフォルトで48時間保持されます。期間が経過すると、サブスクリプションは自動的にキャンセルされ、保持されているデータは自動的に削除されます。
LTSインスタンスで作成された同期タスクを停止せずにLTSインスタンスを解放すると、同期タスクは一時停止され、データは消費されません。
アーカイブタスクを送信する
LTS Web UI にログオンします。左側のナビゲーションペインで、[データエクスポート] > [MaxCompute への増分アーカイブ] を選択します。
[新しいジョブの作成] をクリックします。表示されるページで、ソース HBase クラスターと宛先 MaxCompute クラスターを選択し、エクスポートする HBase テーブルを指定します。
上の図は、HBase テーブル wal-test から MaxCompute にリアルタイムデータをアーカイブする方法の例を示しています。アーカイブされる列は、cf1:a、cf1:b、cf1:c、および cf1:d です。
mergeInterval パラメーターは、アーカイブ間隔をミリ秒単位で指定します。デフォルト値は 86400000 です。
mergeStartAt パラメーターを yyyyMMddHHmmss の形式で指定します。この例の値は、2019年9月30日 00:00 を開始時刻として指定しています。過去の時間を指定できます。
テーブルのアーカイブの進行状況を表示します。[リアルタイム同期チャネル] セクションには、ログ同期タスクのレイテンシと開始オフセットが表示されます。[テーブルマージ] セクションには、テーブルマージタスクが表示されます。テーブルがマージされた後、MaxComputeで新しいパーティションテーブルをクエリできます。
MaxComputeコンソールにログインして、データをクエリします。

パラメーター
次のコードは、エクスポートされたテーブルの形式の例を示しています。
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} // マージ操作はテーブルに対して実行されません。エクスポートされたテーブルには、hbaseTable、odpsTable、および tbConf の 3 つの部分があります。
hbaseTable:ソース HBase テーブル。
odpsTable:宛先 MaxCompute テーブルの名前。このパラメーターはオプションです。デフォルトでは、MaxComputeテーブルの名前はソース HBase テーブルの名前と同じです。 MaxCompute テーブル名には、ピリオド(.)またはハイフン(-)を含めることはできません。ピリオド(.)またはハイフン(-)を使用すると、アンダースコア(_)に変換されます。
tbConf:テーブルのアーカイブアクション。次の表に、サポートされているパラメーターを示します。
パラメーター | 説明 | 例 |
cols | エクスポートする列と列のデータ型を指定します。デフォルトでは、データはHexString形式に変換されます。 | "cols": ["cf1:a", "cf1:b", "cf1:c"] |
mergeEnabled | キーバリュー(KV)テーブルをワイドテーブルに変換するかどうかを指定します。デフォルト値:true。 | "mergeEnabled": false |
mergeStartAt | テーブルマージの開始時刻。yyyyMMddHHmmss 形式で過去の時間を指定できます。 | "mergeStartAt": "20191008000000" |
mergeInterval | テーブルマージタスクが実行される間隔。単位:ミリ秒。デフォルト値は 86400000 です。デフォルト値を使用すると、データは毎日アーカイブされます。 | "mergeInterval": 86400000 |