Lindorm Tunnel Service (LTS) tidak lagi mendukung impor data inkremental dari Simple Log Service (SLS) sejak 10 Maret 2023. Jika Anda membeli LTS setelah tanggal tersebut, fitur ini tidak tersedia. Namun, jika Anda telah membeli LTS sebelum 10 Maret 2023, Anda masih dapat menggunakannya.
Gunakan LTS untuk mengalirkan data log inkremental dari SLS ke HBase secara real time—tanpa perlu menulis konsumen kustom atau mengelola offset secara manual.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membeli LTS, mengonfigurasi kredensial akun di Konsol LTS, dan masuk.
Menambahkan sumber data ApsaraDB for HBase di Konsol LTS.
Sumber data Loghub (SLS) yang ditambahkan di Konsol LTS
Edisi yang didukung
| Edition | Supported |
|---|---|
| Self-managed HBase V1.x dan V2.x (Kerberos dinonaktifkan) | Yes |
| Alibaba Cloud E-MapReduce (EMR) HBase | Yes |
| ApsaraDB for HBase Standard Edition — cluster mode | Yes |
| ApsaraDB for HBase Performance-enhanced Edition — cluster mode | Yes |
| ApsaraDB for HBase — single-node mode | No |
Buat task
Di panel navigasi kiri Konsol LTS, pilih Data Import > SLS incremental Import.
Klik create new job. Dari daftar drop-down Source Cluster, pilih SLS. Dari daftar drop-down Target Cluster(HBase, Phoenix), pilih HBase.
Konfigurasikan bidang pemetaan tabel. Lihat Parameter pemetaan tabel untuk detailnya.
Klik create.
Setelah task dibuat, lihat detailnya di halaman SLS incremental Import.
Parameter pemetaan tabel
Pemetaan tabel adalah konfigurasi JSON dengan dua objek tingkat atas: reader (sumber SLS) dan writer (target HBase).
Parameter reader
| Parameter | Required | Default | Description |
|---|---|---|---|
logstore | Yes | — | Nama Logstore SLS yang akan dibaca |
columns | Yes | — | Array nama field log SLS yang akan disertakan (misalnya, "__client_ip__", "id") |
consumerSize | No | 1 | Jumlah konsumen yang berlangganan data loghub (SLS) |
Parameter writer
| Parameter | Required | Default | Description |
|---|---|---|---|
tableName | Yes | — | Nama tabel HBase dalam format namespace:table (misalnya, "default:sls") |
rowkey.value | Yes | — | Ekspresi yang menghasilkan kunci baris untuk setiap catatan |
columns | Yes | — | Array objek pemetaan kolom (lihat di bawah) |
Bidang objek pemetaan kolom:
| Field | Required | Description |
|---|---|---|
name | Yes | Kolom HBase dalam format columnFamily:qualifier (misalnya, "f:col1"). Gunakan "f:*" untuk memetakan kolom yang tidak cocok dengan pengaturan default. |
value | No | Nama field SLS yang akan dipetakan, atau ekspresi menggunakan sintaks {{ }} (misalnya, "{{ concat('xx', name) }}") |
Sintaks ekspresi
Gunakan {{ expression }} untuk menghitung nilai kolom atau kunci baris secara dinamis. Fungsi concat() menggabungkan beberapa field atau literal string.
Contoh:
{{ concat('idg', id) }} // Menambahkan awalan "idg" ke field id
{{ concat('xx', name) }} // Menambahkan awalan "xx" ke field name
{{ concat(title, id) }} // Menggabungkan title dan idContoh konfigurasi lengkap
Konfigurasi berikut membaca empat field dari Logstore SLS bernama bds-test dan menuliskannya ke tabel HBase default:sls. Konfigurasi ini menggunakan dua konsumen, menerapkan ekspresi untuk f:col1 dan rowkey, memetakan f:col2 langsung dari field log, dan mengarahkan kolom yang tidak cocok menggunakan wildcard 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"
}
}