Topik ini menjelaskan cara menggunakan LastRow Merge Engine.
Detail LastRow Merge Engine
Merge policy
Kebijakan merge LastRow digunakan secara default. Ketika primary key data baru cocok dengan catatan yang sudah ada, catatan lama akan ditimpa. Hanya catatan terbaru berdasarkan processing time yang dipertahankan.
Konfigurasi
Jika parameter 'table.merge-engine' tidak secara eksplisit ditentukan dalam properti tabel saat membuat tabel dengan primary key, sistem secara otomatis mengaktifkan LastRow Merge Engine default.
Jenis operasi yang didukung
INSERT, UPDATE, dan DELETE.
Dukungan partial update
Engine ini mendukung pembaruan sebagian kolom, memungkinkan Anda memperbarui hanya kolom tertentu alih-alih seluruh baris.
Contoh penggunaan
Contoh-contoh berikut mencakup skenario umum berikut:
Sinkronisasi data Real-time: Dalam skenario data streaming, LastRow Merge Engine memastikan bahwa catatan untuk suatu primary key selalu mencerminkan status terbaru.
Pembaruan inkremental: Engine ini mendukung partial column updates, yang ideal untuk memproses data inkremental secara efisien.
Pembersihan data: Anda dapat menggunakan operasi DELETE untuk membersihkan data yang kedaluwarsa atau tidak valid secara berkala serta mengoptimalkan ruang penyimpanan.
CREATE TABLE T (
k INT,
v1 DOUBLE,
v2 STRING,
PRIMARY KEY (k) NOT ENFORCED
);
-- Insert
INSERT INTO T(k, v1, v2) VALUES (1, 1.0, 't1');
INSERT INTO T(k, v1, v2) VALUES (1, 1.0, 't2');
SELECT * FROM T WHERE k = 1;
-- Outputs:
+----+-----+----+
| k | v1 | v2 |
+----+-----+----+
| 1 | 1.0 | t2 |
+----+-----+----+
-- Update
INSERT INTO T(k, v1, v2) VALUES (2, 2.0, 't2');
UPDATE T SET v1 = 4.0 WHERE k = 2;
SELECT * FROM T WHERE k = 2;
-- Outputs:
+----+-----+----+
| k | v1 | v2 |
+----+-----+----+
| 2 | 4.0 | t2 |
+----+-----+----+
-- Partial update
INSERT INTO T(k, v1) VALUES (3, 3.0); -- Set v1 to 3.0
SELECT * FROM T WHERE k = 3;
-- Outputs:
+----+-----+------+
| k | v1 | v2 |
+----+-----+------+
| 3 | 3.0 | null |
+----+-----+------+
INSERT INTO T(k, v2) VALUES (3, 't3'); -- Set v2 to 't3'
SELECT * FROM T WHERE k = 3;
-- Outputs:
+----+-----+----+
| k | v1 | v2 |
+----+-----+----+
| 3 | 3.0 | t3 |
+----+-----+----+
-- Delete (Batch delete is not currently supported)
DELETE FROM T WHERE k = 2;
SELECT * FROM T;
-- Outputs:
+----+-----+----+
| k | v1 | v2 |
+----+-----+----+
| 1 | 1.0 | t2 |
+----+-----+----+
| 3 | 3.0 | t3 |
+----+-----+----+