All Products
Search
Document Center

Data Lake Formation:Tabel Paimon

Last Updated:Mar 06, 2026

Topik ini menjelaskan operasi dasar untuk tabel Paimon di Data Lake Formation (DLF).

Pengenalan jenis tabel

Fitur

Tabel Paimon menggunakan format lakehouse yang mendukung penyimpanan real-time dan offline terintegrasi. Anda dapat menggunakan compute engine dan API open source untuk membaca dan menulis data secara efisien.

Skenario

Pemrosesan aliran, pembaruan real-time, dan kueri online analytical processing (OLAP) berkinerja tinggi.

Manajemen data

Data sepenuhnya dikelola oleh DLF, termasuk metadata dan file data aktual. Saat Anda menghapus tabel, baik metadata maupun data akan dihapus.

Sistem penyimpanan

Jalur penyimpanan data secara otomatis dihasilkan oleh DLF berdasarkan universally unique identifier (UUID). Anda tidak perlu menentukan jalur penyimpanan secara manual.

Perilaku penghapusan

Saat Anda menghapus tabel, data tetap disimpan selama satu hari secara default untuk mengurangi risiko penghapusan tidak sengaja. Setelah satu hari, data tersebut dihapus secara permanen.

Tabel Paimon yang sepenuhnya dikelola menyediakan fitur-fitur berikut:

  • Kompaksi yang sepenuhnya dikelola dan terpisah dari proses penulisan data untuk operasi yang lebih stabil.

  • Dukungan terhadap beberapa job penulisan yang menulis ke partisi yang sama dari tabel yang sama secara konkuren.

  • Metrik real-time tingkat partisi, seperti jumlah baris, jumlah file, dan ukuran file.

  • Mekanisme multi-versi yang mendukung time travel serta operasi insert, update, dan delete detail halus.

Buat tabel data

  1. Pada halaman daftar Data Catalog, klik nama katalog untuk membuka halaman detail katalog.

  2. Pada daftar Database, klik nama database untuk membuka halaman daftar tabel.

  3. Pada table list, klik Create Table.

  4. Konfigurasikan informasi berikut, lalu klik OK.

    Item konfigurasi

    Deskripsi

    Table Format

    Pilih Paimon Table.

    Data Table Name

    Wajib diisi. Nama harus unik dalam database.

    Data Table Description

    Opsional. Masukkan deskripsi.

    Columns

    Definisikan informasi kolom dalam tabel, termasuk nama kolom, apakah merupakan primary key, apakah bersifat not null, apakah merupakan bidang partisi, tipe data, panjang/tipe, deskripsi, dan operasi.

    Custom Table Properties

    • Tambahkan properti kustom. Properti ini akan menimpa parameter default layanan meta DLF saat pembuatan tabel. Untuk daftar item konfigurasi yang berlaku, lihat dokumentasi resmi Paimon.

    • Beberapa format file dasar didukung: PARQUET, AVRO, ORC, CSV, TEXT, JSON, LANCE, dan BLOB.

      Contohnya, file.format = LANCE.

    Catatan

    Tabel Paimon yang dibuat di DLF menggunakan mode "write-only" secara default. Artinya, operasi optimasi tabel latar belakang seperti kompaksi, pembersihan snapshot, dan pembersihan partisi secara otomatis ditangani oleh DLF.

Contoh SQL

Tabel Paimon yang dibuat di DLF mendukung tabel primary key 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 Integrasi engine.

Tabel primary key

Jenis tabel ini menggunakan primary key sebagai pengenal unik dan dirancang untuk skema pemrosesan data aliran. Tabel ini memungkinkan Anda melakukan pembaruan, penyisipan, dan penghapusan real-time pada catatan dalam tabel. Tabel ini juga secara otomatis menghasilkan log perubahan yang akurat untuk dikonsumsi sistem downstream sebagai aliran. Selain itu, tabel primary key mendukung kueri data efisien berdasarkan kondisi primary key.

  • 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'
    );

Produk DLF menggunakan mode Postpone Bucket secara default. Strategi alokasi bucket adaptif ini secara dinamis menyesuaikan jumlah bucket berdasarkan volume data partisi. Hal ini mencegah degradasi performa baca akibat terlalu banyak bucket atau masalah performa tulis karena terlalu sedikit bucket. Dengan mekanisme cerdas ini, Anda tidak perlu khawatir tentang konfigurasi bucket. Namun, mode Postpone memperkenalkan latensi data. Data yang baru ditulis tidak terlihat hingga proses kompaksi selesai.

Untuk menghindari latensi, lakukan langkah-langkah berikut:

  1. Gunakan Flink (VVR 11.4 atau lebih baru) atau Spark (esr-4.5 atau lebih baru). Di mode Postpone, versi baru menulis batch langsung ke bucket, sehingga menghilangkan latensi.

  2. Untuk tabel yang sensitif terhadap latensi, atur secara eksplisit jumlah bucket. Contohnya: 'bucket' = '5'. Kami merekomendasikan satu bucket untuk setiap 1 GB data partisi.

Sistem secara dinamis menyesuaikan jumlah bucket berdasarkan karakteristik data dan beban lalu lintas. Sistem juga melakukan operasi penskalaan pada waktu yang tepat untuk memastikan efisiensi penyimpanan serta performa baca dan tulis. Baca deskripsi kebijakan berikut untuk mempelajari lebih lanjut tentang kebijakan penskalaan ini.

Kebijakan bucketing dinamis dan skalabilitas otomatis

Faktor-faktor berikut menentukan logika alokasi bucket:

  • Total penyimpanan partisi
    Ukuran total file dalam suatu partisi merupakan metrik inti yang menentukan jumlah bucket. Semakin besar total penyimpanan, semakin banyak bucket yang dialokasikan sistem.

  • Skala catatan data
    Saat deletion vectors diaktifkan, jumlah baris data dalam suatu partisi menjadi metrik utama. Semakin banyak catatan data, semakin banyak bucket yang dialokasikan sistem untuk menjaga performa kueri.

  • Beban lalu lintas tulis
    Sistem memantau throughput job tulis. Untuk skenario tulis dengan lalu lintas tinggi, sistem meningkatkan jumlah bucket untuk mencegah bottleneck tulis.

  • Kesenjangan distribusi data
    Saat terdeteksi distribusi data tidak merata (data skew), sistem secara otomatis meningkatkan jumlah bucket untuk mendistribusikan data lebih merata.

  • Karakteristik data per baris
    Jika ukuran rata-rata satu catatan data terlalu kecil (misalnya, berisi banyak nilai null), sistem meningkatkan jumlah bucket untuk mengoptimalkan struktur file dasar.

  • Referensi partisi historis
    Dalam skenario tertentu, sistem menggunakan konfigurasi bucket partisi historis sebagai referensi dan menggunakan algoritma heuristik untuk menentukan jumlah bucket optimal untuk partisi baru.

Untuk konfigurasi terkait bisnis lainnya, Anda dapat menentukan hal-hal berikut:

  • merge-engine untuk melakukan perhitungan yang lebih kompleks.

  • Aktifkan Deletion Vectors (deletion-vectors.enabled) untuk meningkatkan performa kueri secara signifikan.

    Catatan

    Setelah Anda mengaktifkan fitur ini, semua data yang baru ditulis hanya terlihat setelah kompaksi, terlepas dari jenis mode bucket.

  • changelog-producer yang diatur ke 'lookup' untuk menghasilkan log perubahan bagi pembacaan aliran downstream.

  • sequence.field untuk menangani skenario out-of-order dan mendapatkan urutan pembaruan yang benar.

Jika data upstream adalah data Change Data Capture (CDC), gunakan Flink CDC atau produk integrasi data untuk memperbarui data ke dalam data lake. Ini menyediakan kemampuan seperti sinkronisasi database penuh, pembuatan tabel otomatis, dan sinkronisasi skema tabel.

Jika Anda ingin tabel primary key mencapai kueri berkinerja tinggi di engine OLAP, kami sangat merekomendasikan mengaktifkan mode "deletion vectors". Meskipun mengonsumsi lebih banyak sumber daya kompaksi, mode ini memberikan kueri OLAP yang lebih stabil dan berkinerja lebih tinggi.

Tabel append-only

Jika suatu tabel tidak memiliki primary key, tabel tersebut disebut tabel append-only. Berbeda dengan tabel primary key, tabel append-only tidak mendukung pembaruan aliran langsung, tetapi performa pemrosesan batch-nya jauh lebih baik.

  1. Tabel ini mendukung penulisan aliran dan pembacaan aliran. Backend DLF secara otomatis menggabungkan file kecil untuk meningkatkan ketepatan waktu data dengan biaya komputasi yang lebih rendah.

  2. Tabel ini mendukung operasi data detail halus, seperti DELETEUPDATE, dan MERGE INTO. Tabel ini juga menyediakan fitur manajemen versi dan time travel untuk memenuhi berbagai kebutuhan bisnis.

  3. Tabel ini mendukung kueri yang dipercepat melalui pengurutan dan definisi bitmap. Engine OLAP memiliki performa baca langsung yang sangat baik.

Kami merekomendasikan penggunaan tabel append-only dalam sebagian besar skenario pemrosesan batch atau skenario pemrosesan aliran tanpa primary key. Dibandingkan dengan tabel primary key, tabel append-only lebih sederhana dan mudah digunakan, sekaligus tetap memenuhi kebutuhan penulisan dan 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

  1. Pada daftar Database, klik nama database untuk melihat daftar tabelnya.

  2. Pada table list, klik nama tabel untuk melihat bidang-bidangnya.

  3. Klik tab Table Details untuk melihat informasi dasar tabel data, daftar bidang, dan daftar partisi.

    Catatan

    Pada tab Table Details, Anda dapat mengubah kelas penyimpanan secara manual baik untuk tabel terpartisi maupun tabel non-partisi. Untuk informasi lebih lanjut, lihat Mengubah kelas penyimpanan secara manual.

  4. Klik tab Permissions untuk memberikan izin terkait tabel kepada pengguna atau peran. Untuk informasi lebih lanjut, lihat Manajemen otorisasi data.

Hapus tabel data

Peringatan

Setelah tabel dihapus, datanya tetap disimpan selama satu hari secara default untuk mencegah kehilangan data tidak sengaja. Data tersebut dihapus secara permanen setelah periode satu hari ini.

  1. Pada daftar Database, klik nama database untuk melihat daftar tabel.

  2. Pada table list, klik Delete di kolom Actions.

  3. Pada kotak dialog yang muncul, klik OK untuk menghapus tabel.