Topik ini menjelaskan cara mengarsipkan data secara inkremental dari HBase ke MaxCompute.
Penting
Fitur Incremental Archive to MaxCompute dihentikan pada 16 Juni 2023. Fitur ini tidak tersedia untuk instans LTS yang dibeli setelah tanggal tersebut. Jika instans LTS Anda dibeli sebelum 16 Juni 2023, Anda dapat terus menggunakan fitur ini.
Prasyarat
-
LTS diaktifkan.
-
Sumber data HBase telah ditambahkan.
-
Sumber data MaxCompute telah ditambahkan.
Versi yang didukung
-
HBase mandiri versi 1.x dan 2.x.
-
EMR HBase.
-
ApsaraDB for HBase Standard Edition, ApsaraDB for HBase Performance-enhanced Edition (dalam mode kluster), dan Lindorm.
Batasan
-
Pengarsipan data real-time didasarkan pada write-ahead log (WAL) HBase. Oleh karena itu, data yang diimpor melalui bulk loading tidak dapat diekspor.
Siklus hidup log
-
Setelah Anda mengaktifkan pengarsipan, log akan disimpan selama 48 jam secara default jika tidak dikonsumsi. Setelah periode ini, langganan log secara otomatis dibatalkan dan data yang disimpan secara otomatis dihapus.
-
Jika Anda melepas instans LTS tanpa menghentikan tugas sinkronisasi, tugas tersebut akan dijeda dan konsumsi data berhenti.
Kirim pekerjaan pengarsipan
-
Buka Konsol LTS. Di panel navigasi kiri, pilih Lindorm/HBase Export > Incremental Archive to MaxCompute.
-
Klik Create Job. Pada halaman pembuatan pekerjaan, tentukan Task Name (opsional), pilih source cluster dan destination cluster, lalu tentukan tabel HBase yang akan diekspor. Di bagian Table Mapping, konfigurasikan JSON pemetaan kolom. Anda dapat mengatur parameter
tableModekewideTable(mode tabel lebar). Sebelum mengirim pekerjaan, pastikan periode retensi log di kluster sumber—yang ditentukan oleh parameterhbase.master.logcleaner.ttl—cukup panjang untuk mencegah kegagalan pekerjaan. Setelah konfigurasi selesai, klik Create. Konfigurasi ini mengarsipkan data real-time dari tabel HBasewal-testke MaxCompute.-
Kolom yang diarsipkan adalah
cf1:a,cf1:b,cf1:c, dancf1:d. -
Parameter
mergeIntervalmenentukan interval pengarsipan dalam milidetik. Nilai default-nya adalah86400000(satu hari). -
Parameter
mergeStartAtmenetapkan waktu mulai pekerjaan dalam formatyyyyMMddHHmmss. Anda dapat menggunakan stempel waktu masa lalu, seperti20190930000000, yang memulai pengarsipan data sejak pukul 00:00:00 pada 30 September 2019.
-
-
Lihat progres pengarsipan tabel. Setelah mengirim pekerjaan, buka halaman detail pekerjaan. Bagian Real-time Synchronization Channel menampilkan latensi sinkronisasi dan Offset. Bagian Table Merge menampilkan pekerjaan merge. Setelah proses merge selesai, Anda dapat melakukan kueri partisi terbaru tabel di MaxCompute. Halaman ini menampilkan status berbagai komponen. Misalnya, status untuk Table Creation Details adalah SUCCEEDED, Real-time Synchronization Channel berstatus RUNNING dengan latensi sinkronisasi 4.520 ms, dan Table Merge berstatus RUNNING dengan progres 47,50%.
-
Masuk ke Konsol MaxCompute dan lakukan kueri data tabel. Jalankan pernyataan
SELECT, sepertiSELECT * from hbase2odps.wal_test_xxx WHERE pt = 'xxxxxxxx', untuk mengkueri data yang diarsipkan. Pastikan hasilnya berisi kolom seperti rowkey, cf1_string, cf1_long, cf1_short, cf1_bigdecimal, cf1_double, cf1_float, cf1_boolean, cf1_null, dan pt. Hal ini mengonfirmasi bahwa data berhasil diarsipkan dari HBase ke MaxCompute.
Parameter
Konfigurasi untuk setiap tabel yang diekspor menggunakan 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} // Tidak ada operasi merge yang dilakukan.
Konfigurasi ekspor terdiri dari tiga bagian: hbaseTable, odpsTable, dan tbConf.
-
hbaseTable: Menentukan tabel HBase sumber. -
odpsTable: Opsional. Menentukan nama tabel tujuan. Secara default, nama ini sama dengan nama tabel HBase. Nama tabel MaxCompute tidak mendukung titik (.) atau tanda hubung (-); karakter-karakter ini secara otomatis dikonversi menjadi garis bawah (_). -
tbConf: Menentukan perilaku pengarsipan untuk tabel tersebut. Tabel berikut menjelaskan parameter yang didukung.
|
Parameter |
Deskripsi |
Contoh |
|
cols |
Menentukan kolom yang akan diekspor beserta tipe datanya. Jika Anda menghilangkan tipe data, sistem akan mengonversi nilai ke format HexString. |
"cols": ["cf1:a", "cf1:b", "cf1:c"] |
|
mergeEnabled |
Menentukan apakah tabel key-value (KV) akan dikonversi menjadi tabel lebar. Default: |
"mergeEnabled": false |
|
mergeStartAt |
Menentukan waktu mulai operasi merge. Anda dapat menentukan waktu di masa lalu. Nilainya harus dalam format |
"mergeStartAt": "20191008000000" |
|
mergeInterval |
Menentukan interval pelaksanaan operasi merge, dalam milidetik. Nilai default-nya adalah |
"mergeInterval": 86400000 |