Lindorm Tunnel Service (LTS) は、2023 年 3 月 10 日より、Simple Log Service (SLS) からの増分データインポート機能をサポートしなくなりました。2023 年 3 月 10 日以降に LTS を購入された場合、本機能はご利用できません。一方、2023 年 3 月 10 日以前に LTS を購入済みの場合、引き続きご利用いただけます。
LTS を使用すると、カスタムコンシューマーの作成やオフセットの手動管理を行わずに、SLS から HBase へ増分ログデータをリアルタイムでストリーミングできます。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
LTS を購入済みであり、LTS コンソールでアカウントの認証情報を設定済み、かつコンソールにログイン済みであること
LTS コンソールに ApsaraDB for HBase のデータソースが追加済みであること
LTS コンソールに Loghub (SLS) のデータソースが追加済みであること
対応エディション
| エディション | 対応 |
|---|---|
| セルフマネージド HBase V1.x および V2.x(Kerberos 無効) | はい |
| Alibaba Cloud E-MapReduce (EMR) HBase | はい |
| ApsaraDB for HBase Standard Edition — クラスターモード | はい |
| ApsaraDB for HBase Performance-enhanced Edition — クラスターモード | はい |
| ApsaraDB for HBase — シングルノードモード | いいえ |
タスクの作成
LTS コンソールの左側ナビゲーションウィンドウで、データインポート > SLS 増分インポート を選択します。
[新規ジョブの作成] をクリックします。[ソースクラスター] ドロップダウンリストから [SLS] を選択し、[ターゲットクラスター (HBase, Phoenix)] ドロップダウンリストから [HBase] を選択します。
テーブルマッピングフィールドを構成します。詳細については、「テーブルマッピングパラメーター」をご参照ください。
作成 をクリックします。
ジョブが作成された後、[SLS 増分インポート] ページでその詳細を表示できます。
テーブルマッピングパラメーター
テーブルマッピングは、JSON 構成であり、最上位レベルのオブジェクトとして reader(SLS ソース)と writer(HBase ターゲット)の 2 つがあります。
Reader パラメーター
| パラメーター | 必須 | デフォルト | 説明 |
|---|---|---|---|
logstore | はい | — | 読み取り元の SLS Logstore の名前 |
columns | はい | — | 含める SLS ログフィールド名の配列(例: "__client_ip__"、"id") |
consumerSize | いいえ | 1 | Loghub (SLS) データをサブスクライブするコンシューマーの数 |
Writer パラメーター
| パラメーター | 必須 | デフォルト | 説明 |
|---|---|---|---|
tableName | はい | — | HBase テーブル名(フォーマット:namespace:table。例:"default:sls") |
rowkey.value | はい | — | 各レコードの行キーを生成する式 |
columns | はい | — | カラムマッピングオブジェクトの配列(以下参照) |
カラムマッピングオブジェクトのフィールド:
| フィールド | 必須 | 説明 |
|---|---|---|
name | はい | HBase カラム(フォーマット:columnFamily:qualifier。例:"f:col1")。未マッチのカラムをデフォルト設定でマップするには、"f:*" を使用します。 |
value | いいえ | マップ元の SLS フィールド名、または {{ }} 構文を用いた式(例:"{{ concat('xx', name) }}") |
式の構文
{{ expression }} を使用して、カラム値や行キーを動的に計算します。concat() 関数は、複数のフィールドまたは文字列リテラルを連結します。
例:
{{ concat('idg', id) }} // id フィールドの先頭に "idg" を付加
{{ concat('xx', name) }} // name フィールドの先頭に "xx" を付加
{{ concat(title, id) }} // title と id を連結完全な構成例
以下の構成では、Logstore 名 bds-test の SLS から 4 つのフィールドを読み取り、HBase テーブル default:sls に書き込みます。コンシューマー数は 2 つ、f:col1 および rowkey には式が適用され、f:col2 はログフィールドから直接マップされ、未マッチのカラムはワイルドカード f:* でルーティングされます。
{
"reader": {
"columns": [
"__client_ip__",
"C_Source",
"id",
"name"
],
"consumerSize": 2,
"logstore": "bds-test"
},
"writer": {
"columns": [
{
"name": "f:col1",
"value": "{{ concat('xx', name) }}"
},
{
"name": "f:col2",
"value": "__client_ip__"
},
{
"name": "f:*"
}
],
"rowkey": {
"value": "{{ concat('idg', id) }}"
},
"tableName": "default:sls"
}
}