Fitur ini tidak lagi tersedia untuk instans Lindorm Tunnel Service (LTS) yang dibeli setelah 16 Juni 2023. Jika instans LTS Anda dibeli sebelum 16 Juni 2023, Anda masih dapat menggunakan fitur ini.
Gunakan LTS untuk mengekspor snapshot lengkap data HBase Anda ke MaxCompute guna arsip atau analitik skala besar. LTS mendukung dua mode output—mode KV dan mode wide table—sehingga Anda dapat memilih skema yang sesuai dengan beban kerja downstream Anda.
Versi yang didukung
Sumber HBase berikut didukung:
-
HBase V1.x dan V2.x yang dikelola sendiri
-
E-MapReduce HBase
-
ApsaraDB for HBase Standard Edition
-
ApsaraDB for HBase Performance-enhanced Edition (cluster mode)
-
ApsaraDB for Lindorm (Lindorm)
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Membeli LTS, mengonfigurasi nama pengguna dan kata sandi untuk UI web LTS, serta masuk. Untuk detailnya, lihat Aktifkan LTS dan login ke UI web LTS.
-
Menambahkan sumber data HBase
-
Menambahkan sumber data MaxCompute
Pilih mode ekspor
LTS mendukung dua mode untuk mengekspor data HBase ke MaxCompute. Tinjau perbandingan di bawah ini sebelum membuat job.
| KV mode | Wide table mode | |
|---|---|---|
| Skema output | Satu baris per pasangan key-value (KV) — mencakup rowkey, version, tipe operasi, column family, qualifier, dan value | Satu baris per baris HBase — setiap kolom yang ditentukan menjadi kolom MaxCompute |
| Pemilihan kolom | Tidak diperlukan | Diperlukan — tentukan kolom secara eksplisit |
| Kontrol tipe data | Nilai diekspor sebagai HexString | Tentukan tipe per kolom (string, int, long, short, decimal, double, float, boolean); default-nya HexString |
| Paling cocok untuk | Mempertahankan riwayat mutasi lengkap, kasus penggunaan bergaya CDC | Analitik terstruktur di mana setiap kolom dipetakan ke tipe yang diketahui |
Buat job ekspor
-
Di UI web LTS, buka Data Export > Archive Full Data to MaxCompute di panel navigasi kiri.
-
Di halaman Lindorm/HBase archive to MaxCompute, klik create new job.
-
Pilih kluster sumber dan kluster tujuan, masukkan tabel yang akan dimigrasikan, lalu klik Create.
Halaman konfigurasi juga menyediakan kotak teks Task Name (optional) dan area teks Advanced Configuration. Bidang Table Mapping mendukung format berikut:
-
table1 {"tableMode": "KVTable"} -
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a|string", "f1:b|int", "f1:c|boolean"]} -
Anda dapat menambahkan parameter
startKey,endKey,startTs, danendTsuntuk membatasi cakupan migrasi.
Untuk detail format, klik tautan Parameter Description.
-
-
Klik nama job untuk memantau progres migrasi.
-
Setelah job selesai, masuk ke konsol MaxCompute untuk mengkueri data yang diekspor.
Di Konsol pengembangan data MaxCompute, jalankan kueri
SELECT * from hbase2odps.bdsTest1;. Hasilnya mengembalikan data dengan empat kolom: A (rowkey), B (cf1_string), C (cf1_int), dan D (cf1_double), yang menunjukkan bahwa data HBase telah berhasil dimigrasikan ke MaxCompute.
Konfigurasikan parameter ekspor
Job menerima parameter dalam bentuk objek JSON setelah pemetaan tabel. Sintaks dasarnya adalah:
<hbaseTable>[/<odpsTable>] <json-parameters>
-
<hbaseTable>: nama tabel HBase sumber. -
<odpsTable>(opsional): nama tabel MaxCompute tujuan. Jika dihilangkan, default-nya menggunakan nama tabel HBase dengan tanda hubung (-) dan titik (.) diganti dengan garis bawah (_).
KV mode
tablexxx {"tableMode": "KVTable"}
Setiap baris yang diekspor merepresentasikan satu pasangan KV di HBase. Tabel MaxCompute berisi kolom-kolom berikut:
| Kolom | Deskripsi |
|---|---|
rowkey |
Rowkey dari pasangan KV |
version |
Versi dari pasangan KV |
op |
Tipe operasi. Nilai yang valid: Put, DeleteFamily, DeleteColumn |
family |
Keluarga kolom |
qualifier |
Nama kolom |
value |
Nilai, dikonversi ke format HexString |
Wide table mode
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["cf1:string|string", "cf1:int|int", "cf1:double|double"]}
Tentukan kolom yang akan diekspor dalam array cols. Setiap entri menggunakan format <family>:<qualifier> atau <family>:<qualifier>|<type>. Jika Anda menghilangkan tipe, nilai diekspor sebagai HexString secara default.
Tipe yang didukung: string, int, long, short, decimal, double, float, boolean
Contoh:
Ekspor kolom dengan encoding HexString default:
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a", "f1:b", "f1:c"]}
Ekspor kolom dengan konversi tipe eksplisit:
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a|string", "f1:b|boolean"]}
Filter berdasarkan rentang rowkey atau rentang waktu
Tambahkan startKey, endKey, startTs, atau endTs ke parameter job apa pun untuk membatasi data yang diekspor. Baik mode KV maupun mode wide table mendukung filter ini.
table1 {"startKey": "xxx", "endKey": "zzz", "startTs": "20191001153000", "endTs": "20191001233000"}
| Parameter | Deskripsi | Format |
|---|---|---|
startKey |
Awal rentang rowkey | String |
endKey |
Akhir rentang rowkey | String |
startTs |
Awal rentang waktu | yyyyMMddHHmmss |
endTs |
Akhir rentang waktu | yyyyMMddHHmmss |
Contoh lengkap dengan semua filter diterapkan dalam mode wide table:
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a|string", "f1:b|boolean"], "startTs": "20190101000000", "endTs": "20200101000000", "startKey": "a", "endKey": "z"}
Ekspor ke tabel MaxCompute dengan nama berbeda
Secara default, nama tabel MaxCompute sama dengan nama tabel HBase, dengan tanda hubung (-) dan titik (.) diganti dengan garis bawah (_). Untuk menggunakan nama berbeda, tentukan odpsTable secara eksplisit:
hbaseTable/odpsTable {"tableMode": "KVTable"}
Ganti hbaseTable dengan nama tabel HBase sumber dan odpsTable dengan nama tabel MaxCompute tujuan.