Topik ini menjelaskan operasi dasar untuk tabel Paimon di Data Lake Formation (DLF).
Ikhtisar tipe tabel
Fitur | Tabel Paimon menggunakan format lakehouse yang mendukung penyimpanan real-time dan offline terintegrasi. Anda dapat menggunakan mesin komputasi dan API open source untuk membaca dan menulis ke tabel-tabel ini secara efisien. |
Skenario | Pemrosesan aliran, pembaruan real-time, dan kueri Pemrosesan Analitik Online (OLAP) berkinerja-tinggi. |
Manajemen data | DLF sepenuhnya mengelola data, termasuk metadata dan file data aktual. Saat Anda menghapus tabel, baik metadata maupun datanya akan dihapus. |
Sistem penyimpanan | DLF secara otomatis menghasilkan jalur penyimpanan data berdasarkan Universally Unique Identifier (UUID). Anda tidak perlu menentukan jalur penyimpanan secara manual. |
Perilaku penghapusan | Saat Anda menghapus tabel, data disimpan selama satu hari secara default untuk mengurangi risiko penghapusan tidak disengaja. Setelah satu hari, data tersebut dihapus secara permanen. |
Tabel Paimon yang dikelola sepenuhnya menyediakan fitur-fitur berikut:
Kompaksi yang dikelola sepenuhnya dan sepenuhnya terpisah dari penulisan data, sehingga menjamin operasi yang lebih stabil.
Dukungan untuk beberapa pekerjaan penulisan agar dapat menulis secara bersamaan ke partisi yang sama dalam satu tabel.
Metrik real-time tingkat partisi, seperti jumlah baris, jumlah file, dan ukuran.
Mekanisme multi-versi yang mendukung perjalanan waktu serta operasi insert, update, dan delete detail halus.
Buat tabel data
Masuk ke Konsol DLF.
Di halaman Data Catalog, klik nama katalog untuk membuka halaman detailnya.
Dalam daftar Database, klik nama database untuk melihat daftar tabel.
Di Table List, klik Create Table.
Atur parameter berikut lalu klik OK.
Item Konfigurasi
Deskripsi
Format Tabel
Pilih Paimon Table.
Nama Database Tabel
Wajib diisi. Nama harus unik dalam database.
Deskripsi Tabel Data
Opsional. Masukkan deskripsi.
Kolom
Definisikan kolom dalam tabel, termasuk nama kolom, apakah merupakan kunci primer, apakah boleh bernilai null, apakah merupakan bidang partisi, tipe data, panjang/tipe, deskripsi, dan operasi.
Properti Tabel Kustom
Anda dapat menambahkan properti kustom. Saat pembuatan, properti ini akan menimpa parameter default yang sesuai dari layanan metadata DLF. Untuk informasi lebih lanjut mengenai item konfigurasi yang berlaku, lihat dokumentasi resmi Paimon.
CatatanTabel Paimon yang dibuat di DLF menggunakan mode "write-only" secara default. Artinya, operasi optimasi tabel latar belakang seperti kompaksi, pembersihan snapshot, dan pembersihan partisi dilakukan secara otomatis oleh layanan latar belakang DLF.
Contoh SQL
Tabel Paimon yang dibuat di DLF mendukung tabel kunci primer dan tabel append-only. Jika Anda telah mengaitkan katalog pada platform lain, seperti EMR atau Flink, Anda juga dapat membuat database dan tabel di platform tersebut. Metadata ditulis langsung ke DLF. Untuk informasi lebih lanjut, lihat Menghubungkan ke mesin komputasi.
Tabel kunci primer
Tabel kunci primer adalah tipe tabel yang menggunakan kunci primer sebagai pengenal unik dan dirancang untuk skenario pemrosesan aliran. Tabel ini memungkinkan Anda melakukan operasi pembaruan, penyisipan, dan penghapusan real-time pada catatan dalam tabel. Tabel ini juga secara otomatis menghasilkan log perubahan yang akurat bagi sistem downstream untuk dikonsumsi. Selain itu, tabel kunci primer mendukung kueri data efisien berdasarkan kondisi kunci primer.
Contoh Flink SQL
CREATE TABLE orders ( order_id BIGINT, price BIGINT, customer STRING, PRIMARY KEY NOT ENFORCED(order_id) );Contoh Spark SQL
CREATE TABLE orders ( order_id BIGINT, price BIGINT, customer STRING ) TBLPROPERTIES ( 'primary-key' = 'order_id' );
Secara default, DLF menggunakan mode Postpone Bucket, yaitu kebijakan alokasi bucket adaptif. Mode ini menyesuaikan jumlah bucket secara dinamis berdasarkan volume data dalam suatu partisi, sehingga mencegah degradasi performa baca akibat terlalu banyak bucket dan masalah performa tulis akibat terlalu sedikit bucket. Mekanisme cerdas ini menghilangkan kebutuhan konfigurasi bucket manual. Namun, mode Postpone memiliki latensi data, artinya data yang baru ditulis tidak terlihat hingga proses kompaksi selesai.
Untuk menghindari latensi ini, Anda dapat melakukan salah satu hal berikut:
Gunakan Flink (Ververica Runtime (VVR) 11.4+) atau Spark (esr-4.5+). Di mode Postpone, versi baru menulis batch langsung ke bucket, sehingga menghilangkan latensi.
Untuk tabel yang sensitif terhadap latensi, tetapkan jumlah bucket secara eksplisit. Contohnya:
'bucket' = '5'. Kami merekomendasikan satu bucket untuk setiap 1 GB data partisi.
Untuk konfigurasi bisnis lainnya, Anda dapat menentukan hal-hal berikut:
Mesin merge (merge-engine) untuk melakukan perhitungan yang lebih kompleks.
Vektor penghapusan (deletion-vectors.enabled) untuk meningkatkan performa kueri secara signifikan.
CatatanSetelah fitur ini diaktifkan, semua data yang baru ditulis hanya terlihat setelah kompaksi, terlepas dari jenis mode bucket yang digunakan.
Produsen changelog (changelog-producer) yang diatur ke 'lookup' untuk menghasilkan log perubahan bagi pembacaan aliran downstream.
Bidang urutan (sequence.field) untuk menangani skenario data tidak berurutan dan memastikan urutan pembaruan yang benar.
Jika sumber upstream berupa data Change Data Capture (CDC), Anda dapat menggunakan Flink CDC atau produk integrasi data untuk menulis data ke danau. Hal ini memberikan kemampuan seperti sinkronisasi basis data penuh, pembuatan tabel otomatis, dan sinkronisasi skema tabel.
Untuk kueri berkinerja tinggi pada tabel kunci primer di mesin OLAP, kami sangat merekomendasikan Anda mengaktifkan mode "vektor penghapusan". Meskipun mode ini mengonsumsi lebih banyak sumber daya kompaksi, mode ini memberikan kueri OLAP yang lebih stabil dan berkinerja lebih tinggi.
Tabel append-only
Jika sebuah tabel tidak memiliki kunci primer yang didefinisikan, maka tabel tersebut merupakan tabel append-only. Berbeda dengan tabel kunci primer, tabel append-only tidak mendukung pembaruan aliran langsung, namun performa pemrosesan batch-nya jauh lebih baik.
Mendukung penulisan aliran dan pembacaan aliran. Layanan latar belakang DLF secara otomatis menggabungkan file-file kecil untuk meningkatkan ketersediaan data dengan biaya komputasi yang lebih rendah.
Mendukung operasi data detail halus, seperti
DELETE,UPDATE, danMERGE INTO. Tabel ini juga menyediakan manajemen versi dan fitur perjalanan waktu untuk memenuhi berbagai kebutuhan bisnis.Mendukung akselerasi kueri melalui pengurutan dan dengan mendefinisikan bitmap, yang memberikan performa baca langsung yang sangat baik untuk mesin OLAP.
Anda dapat menggunakan tabel append-only dalam sebagian besar skenario pemrosesan batch atau dalam skenario pemrosesan aliran yang tidak memiliki kunci primer. Dibandingkan dengan tabel kunci primer, tabel append-only lebih mudah digunakan dan menyediakan penulisan serta kueri data yang efisien.
Contoh Flink SQL
CREATE TABLE orders ( order_id BIGINT, price BIGINT, customer STRING );Contoh Spark SQL
CREATE TABLE orders ( order_id BIGINT, price BIGINT, customer STRING );
Lihat tabel data
Dalam daftar Database, klik nama database untuk melihat daftar tabel.
Di Table List, klik nama tabel untuk melihat detailnya.
Klik tab Table Details untuk melihat informasi dasar tabel, daftar bidang, dan daftar partisi.
CatatanDi tab Table Details, Anda dapat memodifikasi kelas penyimpanan secara manual untuk tabel partisi dan tabel non-partisi. Untuk informasi lebih lanjut, lihat Memodifikasi kelas penyimpanan secara manual.
Klik tab Permissions untuk memberikan izin tabel kepada pengguna atau peran. Untuk informasi lebih lanjut, lihat Manajemen Otorisasi Data.
Hapus tabel data
Setelah tabel dihapus, sistem menyimpan data tabel selama satu hari secara default untuk mengurangi risiko penghapusan tidak disengaja. Setelah satu hari, data tersebut dihapus secara permanen.
Dalam daftar Database, klik nama database untuk melihat daftar tabel.
Di Table List, klik Delete di kolom Aksi.
Pada kotak dialog yang muncul, klik OK untuk menghapus tabel data.