Topik ini menjelaskan cara mengarsipkan data secara inkremental dari HBase ke MaxCompute.
Pemberitahuan
Fitur arsip inkremental untuk MaxCompute dihentikan pada 16 Juni 2023. Instans Lindorm Tunnel Service (LTS) yang dibeli setelah tanggal tersebut tidak dapat menggunakan fitur ini, sedangkan instans LTS yang dibeli sebelumnya masih dapat terus menggunakannya.
Prasyarat
-
Lindorm Tunnel Service (LTS) telah diaktifkan.
-
Sumber data HBase telah ditambahkan.
-
Sumber data MaxCompute telah ditambahkan.
Versi yang didukung
-
HBase versi self-managed 1.x dan 2.x.
-
E-MapReduce HBase.
-
ApsaraDB for HBase Standard Edition, ApsaraDB for HBase Performance-enhanced Edition, dan Lindorm.
Batasan
-
Fitur arsip inkremental didasarkan pada log HBase. Oleh karena itu, data yang diimpor menggunakan bulk loading tidak dapat diekspor.
Siklus hidup log
-
Setelah pengarsipan diaktifkan, jika data tidak dikonsumsi, log akan disimpan selama 48 jam secara default. Setelah periode tersebut, sistem secara otomatis membatalkan subscription dan menghapus data yang tersimpan.
-
Konsumsi data dapat gagal jika kluster LTS dilepas sebelum tugas dihentikan atau jika tugas sinkronisasi dijeda.
Kirim tugas arsip
-
Di Konsol LTS, buka Lindorm/HBase Export > Incremental archive to MaxCompute di panel navigasi sebelah kiri.
-
Klik Create Task. Pada halaman Incremental archive to MaxCompute, konfigurasikan parameter yang diperlukan: pilih Source Cluster dan Destination Cluster, lalu tentukan Table Mapping. Klik Parameter Description untuk informasi lebih lanjut, seperti mengatur
tableModemenjadiwideTable. Anda juga dapat memberikan Task Name (opsional) dan mengatur Advanced Configurations. Sebelum mengirim tugas, pastikan periode retensi log (hbase.master.logcleaner.ttl) pada kluster sumber mencukupi untuk mencegah kegagalan tugas. Setelah selesai mengonfigurasi, klik Create. Konfigurasi dalam contoh ini mengarsipkan data secara real-time dari tabel HBasewal-testke MaxCompute.-
Kolom yang akan diarsipkan adalah
cf1:a,cf1:b,cf1:c, dancf1:d. -
mergeIntervalmenentukan interval arsip dalam milidetik. Nilai default-nya adalah86400000, yaitu satu hari. -
mergeStartAtmenentukan waktu mulai operasi merge dalam formatyyyyMMddHHmmss. Misalnya, nilai20190930000000berarti operasi dimulai pukul 00:00:00 pada 30 September 2019. Anda dapat menentukan waktu di masa lalu.
-
-
Setelah tugas arsip dikirim, Anda dapat memantau status alur kerja di halaman detail tugas. Halaman ini terdiri dari tiga bagian. Bagian Table Creation Details menampilkan status pembuatan tabel; status
SUCCEEDEDmenunjukkan bahwa tabel berhasil dibuat. Bagian Real-time Synchronization Channel menampilkan status saluran (misalnya,RUNNING), latensi sinkronisasi, dan checkpoint (offset) sinkronisasi log. Bagian Table Merge menampilkan status (misalnya,RUNNING) dan progres (misalnya,47.50%) tugas merge. Setelah proses merge selesai, Anda dapat melakukan kueri terhadap partisi terbaru di MaxCompute. -
Masuk ke MaxCompute untuk mengkueri data yang diarsipkan. Setelah proses merge selesai, jalankan pernyataan
SELECT * FROM wal_test WHERE pt = 'xxxxxx'di MaxCompute untuk mengkueri data yang diarsipkan. Hasilnya mencakup kolom seperti rowkey, cf1_string, cf1_long, cf1_boolean, cf1_short, cf1_bigdecimal, cf1_double, cf1_float, cf1_null, dan pt, yang mengonfirmasi bahwa sinkronisasi data dari HBase ke MaxCompute berhasil.
Parameter
Tabel yang diekspor ditentukan dalam format berikut:
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} // Disables the merge operation.
Ekspresi pemetaan tabel terdiri dari tiga bagian: {{hbaseTable}}, {{odpsTable}}, dan {{tbConf}}. {{hbaseTable}} menentukan tabel HBase sumber. {{odpsTable}} bersifat opsional dan menentukan nama tabel tujuan; secara default, namanya sama dengan nama tabel HBase. Perhatikan bahwa MaxCompute mengonversi karakter yang tidak didukung seperti . dan - dalam nama tabel menjadi _. {{tbConf}} menentukan perilaku arsip untuk tabel tersebut. Tabel berikut menjelaskan parameter yang didukung oleh {{tbConf}}.
|
Parameter |
Description |
Example |
|
cols |
Menentukan kolom dan tipe datanya yang akan diekspor. Secara default, data dikonversi ke format |
"cols": ["cf1:a", "cf1:b", "cf1:c"] |
|
mergeEnabled |
Menentukan apakah tabel key-value (KV) dikonversi menjadi tabel lebar. Nilai default-nya adalah |
"mergeEnabled": false |
|
mergeStartAt |
Waktu mulai operasi merge. Formatnya adalah |
"mergeStartAt": "20191008000000" |
|
mergeInterval |
Interval operasi merge, dalam milidetik. Nilai default-nya adalah |
"mergeInterval": 86400000 |