All Products
Search
Document Center

Realtime Compute for Apache Flink:Kelola katalog Paimon

Last Updated:Aug 14, 2026

Katalog Paimon menghubungkan Flink ke metadata data lake yang disimpan di OSS atau DLF. Pelajari cara membuat dan mengelola katalog, database, serta tabel.

Sebelum memulai

  • Persyaratan versi

    • VVR 8.0.5 atau lebih baru: Diperlukan untuk membuat katalog dan tabel Paimon.

    • VVR 11.1 atau lebih baru: Diperlukan untuk menggunakan DLF sebagai metastore.

    • VVR 11.8 atau lebih baru: Diperlukan untuk menggunakan OSS-HDFS sebagai penyimpanan untuk Katalog Filesystem Paimon.

  • Persyaratan penyimpanan

    Paimon menyimpan data dan metadata di OSS. Konfigurasikan bucket OSS Anda sebagai berikut:

    • Jenis penyimpanan: Gunakan Standard. Jenis penyimpanan.

    • Pengaturan bucket: Buat bucket khusus di wilayah yang sama dengan ruang kerja Flink Anda. Jangan gunakan kembali bucket sistem default untuk menghindari konflik data.

  • Izin akses
    Pastikan pasangan AccessKey memiliki izin baca dan tulis pada bucket OSS atau direktori DLF Anda.

  • Kompatibilitas format

    Katalog Paimon hanya mendukung format Paimon. Format lain seperti Lance dan Iceberg tidak didukung.

  • Refresh konsol
    Setelah membuat atau menghapus katalog, database, atau tabel, klik refresh image untuk memperbarui konsol.

  • Pemetaan Versi Paimon

    Versi Apache Paimon

    VVR

    1.3.1

    11.5, 11.6, 11.7, 11.8

    1.3

    11.4

    1.2

    11.2, 11.3

    1.1

    11.1

    1.0

    8.0.11

Buat katalog

Pilih jenis metastore berdasarkan skenario Anda:

  • Katalog Filesystem: Menyimpan metadata di OSS. Paling cocok untuk penerapan sederhana.

  • Katalog DLF: Menyimpan metadata di Data Lake Formation (DLF). Paling cocok untuk skenario enterprise dengan manajemen metadata terpadu.

Buat katalog Filesystem

Opsi 1: Gunakan konsol (Direkomendasikan)

  1. Buka halaman Catalogs.

    1. Login ke Management Portal. Temukan ruang kerja target dan klik Console di kolom Actions.

    2. Di panel navigasi kiri, klik Catalogs.

  2. Klik Create Catalog, pilih Apache Paimon, lalu klik Next.

  3. Atur metastore menjadi filesystem dan konfigurasikan pengaturan katalog lainnya.

Opsi 2: Gunakan SQL

Jalankan perintah berikut di editor SQL dari Development > Scripts:

CREATE CATALOG `my-catalog` WITH (
  'type' = 'paimon',
  'metastore' = 'filesystem',
  'warehouse' = '<warehouse>',
  'fs.oss.endpoint' = '<fs.oss.endpoint>',
  'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>',
  'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>'
);
  • Parameter umum

    Item konfigurasi

    Deskripsi

    Wajib

    Keterangan

    my-catalog

    Nama katalog Paimon.

    Ya

    Masukkan nama kustom.

    type

    Jenis katalog.

    Ya

    Atur ke paimon.

    metastore

    Jenis metastore.

    Ya

    Nilai yang valid:

    • filesystem: Menyimpan metadata di OSS.

    • dlf: Menyimpan metadata di DLF.

  • Parameter OSS

    Item konfigurasi

    Deskripsi

    Wajib

    Keterangan

    warehouse

    Direktori gudang data di OSS.

    Ya

    Formatnya adalah oss://<bucket>/<object>, di mana:

    • bucket: nama bucket OSS Anda.

    • object: jalur tempat data Anda disimpan.

    Lihat nama bucket dan object Anda di konsol OSS.

    fs.oss.endpoint

    Titik akhir layanan OSS.

    Ya

    • Jika Flink dan DLF berada di wilayah yang sama, gunakan titik akhir VPC. Jika tidak, gunakan titik akhir jaringan publik.

    • Parameter ini diperlukan jika bucket OSS yang ditentukan untuk warehouse tidak berada di wilayah yang sama dengan ruang kerja Flink, atau jika Anda menggunakan bucket OSS milik akun Alibaba Cloud lain.

    Wilayah dan Titik Akhir dan Buat AccessKey.

    fs.oss.accessKeyId

    ID AccessKey akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.

    Ya

    fs.oss.accessKeySecret

    Rahasia AccessKey akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.

    Ya

  • OSS-HDFS (VVR 11.8 atau lebih baru)

    Untuk menggunakan OSS-HDFS sebagai penyimpanan untuk Katalog Filesystem Paimon, gunakan contoh SQL berikut:

    CREATE CATALOG `my_catalog` WITH (
      'type' = 'paimon',
      'metastore' = 'filesystem',
      'warehouse' = 'dls://<bucket>.<dls-endpoint>/<warehouse-path>',
      'fs.oss.endpoint' = '<dls-endpoint>',
      'fs.oss.accessKeyId' = '<access-key-id>',
      'fs.oss.accessKeySecret' = '<access-key-secret>',
      'fs.dls.client.mode.enabled' = 'false',
      'fs.dls.data.endpoint' = '<oss-data-endpoint>'
    );

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Deskripsi

    Wajib

    Keterangan

    warehouse

    Direktori warehouse di OSS-HDFS.

    Ya

    Format: dls://<bucket>.<dls-endpoint>/<warehouse-path>. <dls-endpoint> sama dengan fs.oss.endpoint.

    fs.oss.endpoint

    Titik akhir layanan OSS-HDFS.

    Ya

    Di konsol OSS, buka bagian "Overview > Access Ports" bucket target dan periksa HDFS Service Endpoint.

    fs.oss.accessKeyId

    ID AccessKey akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS-HDFS.

    Ya

    —

    fs.oss.accessKeySecret

    Rahasia AccessKey yang sesuai dengan ID AccessKey.

    Ya

    —

    fs.dls.client.mode.enabled

    Menentukan apakah akan mengaktifkan DLS Client Mode.

    Ya

    Atur ke false.

    fs.dls.data.endpoint

    Titik akhir data yang digunakan oleh DLS untuk mengakses data OSS yang mendasarinya.

    Ya

    Di konsol OSS, buka bagian "Overview > Access Ports" bucket target dan periksa OSS internal Endpoint. Anda juga dapat merujuk ke dokumentasi "Wilayah dan titik akhir".

Buat katalog DLF

DLF

  1. Buat katalog di konsol DLF di wilayah yang sama dengan ruang kerja Flink Anda. Gunakan DLF dengan cepat.

  2. Daftarkan katalog Paimon di Konsol Pengembangan.

    Catatan

    Operasi ini hanya memetakan katalog DLF Anda sebagai metadata. Membuat atau menghapus katalog ini di Realtime Compute for Apache Flink tidak memengaruhi data yang mendasarinya di DLF.

    1. Login ke konsol Realtime Compute.

    2. Dalam daftar ruang kerja yang dikelola sepenuhnya, klik nama ruang kerja Anda untuk membuka konsolnya.

    3. Anda dapat mendaftarkan katalog dengan menggunakan UI atau menjalankan perintah SQL.

      UI

      1. Di panel navigasi kiri, klik Catalogs.

      2. Di halaman Daftar Katalog, klik Create Catalog.

      3. Pilih Apache Paimon dan klik Next.

      4. Atur metastore menjadi dlf. Untuk catalog name, pilih katalog DLF yang diinginkan. Klik OK untuk membuat katalog.

      Perintah SQL

      Di editor Scripts, masukkan dan jalankan pernyataan SQL berikut untuk membuat katalog.

      CREATE CATALOG `flink_catalog_name` 
      WITH (
        'type' = 'paimon',
        'metastore' = 'rest',
        'token.provider' = 'dlf',
        'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com',
        'warehouse' = 'dlf_test'
      );

      Tabel berikut menjelaskan parameter-parameter tersebut.

      Parameter

      Deskripsi

      Wajib

      Contoh

      type

      Jenis katalog. Parameter ini tetap paimon.

      Ya

      paimon

      metastore

      Jenis metastore. Parameter ini tetap rest.

      Ya

      rest

      token.provider

      Penyedia token. Parameter ini tetap dlf.

      Ya

      dlf

      uri

      URI untuk mengakses DLF REST Catalog Server. Formatnya adalah http://[region-id]-vpc.dlf.aliyuncs.com. Untuk informasi lebih lanjut tentang ID wilayah, lihat Titik Akhir.

      Ya

      http://cn-hangzhou-vpc.dlf.aliyuncs.com

      warehouse

      Nama katalog DLF yang mendasarinya untuk digunakan sebagai warehouse.

      Ya

      dlf_test

DLF-Legacy

  1. Buat katalog di konsol DLF di wilayah yang sama dengan ruang kerja Flink Anda. Memulai.

  2. Daftarkan katalog Paimon di Konsol Pengembangan.

    Opsi 1: Gunakan konsol (Direkomendasikan)

    1. Buka halaman Catalogs.

      1. Login ke Management Portal dan klik Console di kolom Actions ruang kerja target.

      2. Klik Catalogs.

    2. Klik Create Catalog. Pilih Apache Paimon dan klik Next.

    3. Atur metastore menjadi DLF dan pilih katalog DLF V1.0 yang akan dikaitkan dari daftar drop-down catalog name. Lalu, konfigurasikan pengaturan katalog lainnya.

    Opsi 2: Gunakan SQL

    Jalankan perintah berikut di editor SQL dari Development > Scripts:

    CREATE CATALOG `my-catalog` WITH (
      'type' = 'paimon',
      'metastore' = 'dlf',
      'warehouse' = '<warehouse>',
      'dlf.catalog.id' = '<dlf.catalog.id>',
      'dlf.catalog.accessKeyId' = '<dlf.catalog.accessKeyId>',
      'dlf.catalog.accessKeySecret' = '<dlf.catalog.accessKeySecret>',
      'dlf.catalog.endpoint' = '<dlf.catalog.endpoint>',
      'dlf.catalog.region' = '<dlf.catalog.region>',
      'fs.oss.endpoint' = '<fs.oss.endpoint>',
      'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>',
      'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>'
    );

    Deskripsi parameter:

    • Umum

      Item konfigurasi

      Deskripsi

      Wajib

      Keterangan

      my-catalog

      Nama katalog Paimon.

      Ya

      Masukkan nama kustom.

      type

      Jenis katalog.

      Ya

      Nilainya tetap paimon.

      metastore

      Jenis metastore.

      Ya

      Nilainya tetap dlf.

    • OSS

      Item konfigurasi

      Deskripsi

      Wajib

      Keterangan

      warehouse

      Direktori gudang data di OSS.

      Ya

      Formatnya adalah oss://<bucket>/<object>, di mana:

      • bucket: nama bucket OSS Anda.

      • object: jalur tempat data Anda disimpan.

      Lihat nama bucket dan object Anda di konsol OSS.

      fs.oss.endpoint

      Titik akhir layanan OSS.

      Ya

      • Jika Flink dan DLF berada di wilayah yang sama, gunakan titik akhir VPC. Jika tidak, gunakan titik akhir jaringan publik.

      • Jika Anda ingin menyimpan tabel Paimon di OSS-HDFS, atur nilai parameter fs.oss.endpoint menjadi cn-<region>.oss-dls.aliyuncs.com, misalnya, cn-hangzhou.oss-dls.aliyuncs.com.

      fs.oss.accessKeyId

      ID AccessKey akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.

      Ya

      Untuk informasi selengkapnya, lihat Wilayah dan titik akhir dan Buat AccessKey.

      fs.oss.accessKeySecret

      Rahasia AccessKey akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.

      Ya

    • DLF

      Item konfigurasi

      Deskripsi

      Wajib

      Keterangan

      dlf.catalog.id

      ID katalog data DLF.

      Ya

      Lihat ID katalog data di konsol Data Lake Formation.

      dlf.catalog.accessKeyId

      ID AccessKey yang diperlukan untuk mengakses layanan DLF.

      Ya

      Untuk informasi selengkapnya, lihat Buat AccessKey.

      dlf.catalog.accessKeySecret

      Rahasia AccessKey yang diperlukan untuk mengakses layanan DLF.

      Ya

      Untuk informasi selengkapnya, lihat Buat AccessKey.

      dlf.catalog.endpoint

      Titik akhir layanan DLF.

      Ya

      Wilayah dan titik akhir.

      Catatan

      Jika Flink dan DLF berada di wilayah yang sama, gunakan titik akhir VPC. Jika tidak, gunakan titik akhir jaringan publik.

      dlf.catalog.region

      Wilayah tempat DLF berada.

      Ya

      Wilayah dan titik akhir.

      Catatan

      Pastikan wilayahnya sama dengan yang ditentukan untuk dlf.catalog.endpoint.

Kelola database

Jalankan perintah berikut di editor SQL dari Development > Scripts.

  • Buat database

    Database default dibuat secara otomatis. Untuk membuat database tambahan:

    -- Ganti my-catalog dengan nama katalog Paimon Anda.
    USE CATALOG `my-catalog`;
    
    -- Ganti my_db dengan nama database kustom dalam bahasa Inggris.
    CREATE DATABASE `my_db`;
  • Hapus database

    Penting

    Database default tidak dapat dihapus dari katalog DLF. Namun, Anda dapat menghapusnya dari katalog Filesystem.

    -- Ganti my-catalog dengan nama katalog Paimon Anda.
    USE CATALOG `my-catalog`;
    
    -- Ganti my_db dengan nama database yang ingin Anda hapus.
    DROP DATABASE `my_db`; -- Menghapus database hanya jika tidak berisi tabel.
    DROP DATABASE `my_db` CASCADE; -- Menghapus database beserta semua tabel di dalamnya.
    

Kelola tabel

Buat tabel

Catatan

Setelah Anda mendaftarkan katalog Paimon, Anda dapat mereferensikan tabelnya langsung di pekerjaan Flink Anda tanpa membuat definisi DDL. Untuk mereferensikan tabel:

  • Gunakan nama lengkap: ${Paimon-catalog-name}.${Paimon-db-name}.${Paimon-table-name}

  • Atau, atur katalog dan database saat ini menggunakan USE CATALOG ${Paimon-catalog-name} dan USE ${Paimon-db-name}. Lalu referensikan tabel hanya dengan nama mereka: ${Paimon-table-name}

  • Buat tabel menggunakan pernyataan CREATE TABLE

    Jalankan perintah berikut di editor SQL dari Development > Scripts.

    Contoh berikut membuat tabel partisi di database my_db dari my-catalog.

    -- Ganti my-catalog dengan nama katalog Paimon Anda.
    -- Ganti my_db dengan nama database yang ingin Anda gunakan.
    -- Anda juga dapat mengganti my_tbl dengan nama kustom dalam bahasa Inggris.
    CREATE TABLE `my-catalog`.`my_db`.`my_tbl` (
      dt STRING,
      shop_id BIGINT,
      user_id BIGINT,
      num_orders INT,
      total_amount INT,
      PRIMARY KEY (dt, shop_id, user_id) NOT ENFORCED
    ) PARTITIONED BY (dt) WITH (
      'bucket' = '4'
    );

    Untuk informasi selengkapnya, lihat Konektor Apache Paimon dan Tabel kunci utama dan tabel append-only.

  • Buat tabel menggunakan pernyataan CREATE TABLE AS (CTAS) (Akan dipensiunkan) atau pernyataan CREATE DATABASE AS (CDAS)

    CTAS dan CDAS secara otomatis menyinkronkan perubahan data dan skema, mereplikasi tabel dari sumber seperti MySQL dan Kafka ke Paimon.

    Catatan
    • Replikasi tabel tertentu

      Contoh berikut secara otomatis membuat tabel Paimon `my-catalog`.`my_db`.`web_sales` berdasarkan skema tabel mysql.tpcds.web_sales dan mereplikasi datanya.

      CREATE TABLE IF NOT EXISTS `<catalog name>`.`<db name>`.`<table name>`
      WITH (
        'bucket' = '4',
        'changelog-producer' = 'input'
      ) AS TABLE mysql.tpcds.web_sales;
    • Replikasi seluruh database

      Contoh berikut secara otomatis membuat tabel Paimon di database `my-catalog`.`my_db` berdasarkan skema setiap tabel di database mysql.tpcds dan mereplikasi datanya.

      CREATE DATABASE IF NOT EXISTS `<catalog name>`.`<db name>`
      WITH (
        'changelog-producer' = 'input'
      ) AS DATABASE mysql.tpcds INCLUDING ALL TABLES;
    • Replikasi perubahan tipe kolom

      Tabel Paimon yang dibuat menggunakan pernyataan CTAS atau CDAS mendukung perubahan tipe kolom tertentu.

      • Replikasi tipe default

        Secara default, tabel Paimon mempertahankan tipe kolom sumber secara eksak. Namun, promosi tipe tertentu didukung tanpa konfigurasi eksplisit:

        • Tipe integer: TINYINT, SMALLINT, INT, dan BIGINT dapat dipromosikan ke tipe integer dengan presisi yang sama atau lebih tinggi. (TINYINT < SMALLINT < INT < BIGINT).

        • Tipe floating-point: FLOAT dan DOUBLE dapat dipromosikan ke tipe floating-point dengan presisi yang sama atau lebih tinggi. (FLOAT < DOUBLE).

        • Tipe string: CHAR, VARCHAR, dan STRING dapat dipromosikan ke tipe string dengan presisi yang sama atau lebih tinggi.

      • Normalisasi tipe

        Untuk mengaktifkan perubahan tipe yang lebih fleksibel dan mencegah kegagalan pekerjaan akibat evolusi skema yang kompatibel, atur 'enableTypeNormalization' = 'true' di klausa WITH pernyataan CTAS/CDAS Anda. Dalam mode ini, Flink menormalisasi tipe data selama evolusi skema. Pekerjaan hanya akan gagal jika tipe lama dan baru tidak dapat dinormalisasi ke tipe dasar yang sama. Aturan:

        • TINYINT, SMALLINT, INT, BIGINT dinormalisasi ke BIGINT.

        • FLOAT, DOUBLE dinormalisasi ke DOUBLE.

        • CHAR, VARCHAR, STRING dinormalisasi ke STRING.

        • Tipe data lain tidak dinormalisasi.

      • Dampak normalisasi:

        Saat normalisasi tipe aktif, tipe data yang disimpan di tabel Paimon akan menjadi tipe yang dinormalisasi. Misalnya, jika kolom sumber c1 (SMALLINT) dan c2 (INT) keduanya dinormalisasi ke BIGINT, maka c1 dan c2 akan disimpan sebagai BIGINT di tabel Paimon.

      • Contoh:

        • Berhasil: Jika SMALLINT di sumber berubah menjadi INT, kedua tipe dinormalisasi ke BIGINT. Ini adalah perubahan yang kompatibel, dan pekerjaan berlanjut secara normal.

        • Gagal: Jika FLOAT di sumber berubah menjadi BIGINT, tipe yang dinormalisasi (DOUBLE dan BIGINT) tidak kompatibel, yang akan menyebabkan pengecualian.

Ubah skema tabel

Jalankan perintah berikut di editor SQL dari Development > Scripts.

Operasi

Kode contoh

Tambah atau ubah properti tabel

ALTER TABLE my_table SET (
  'write-buffer-size' = '256 MB',
  'write-buffer-spillable' = 'true'
);

Ubah sementara properti tabel

Properti tabel yang diubah sementara hanya berlaku untuk pekerjaan SQL saat ini.

  • Saat menulis ke tabel my_table, atur sementara write-buffer-size menjadi 256 MB dan write-buffer-spillable menjadi true.

    INSERT INTO my_table /*+ OPTIONS('write-buffer-size' = '256 MB', 'write-buffer-spillable' = 'true') */
    SELECT ...;
  • Saat mengonsumsi data dari tabel my_table, atur sementara scan.mode menjadi latest dan scan.parallelism menjadi 10.

    SELECT * FROM t /*+ OPTIONS('scan.mode' = 'latest', 'scan.parallelism' = '10') */;

Ubah nama tabel

ALTER TABLE my_table RENAME TO my_table_new;
Penting

Operasi rename OSS tidak bersifat atomik. Jika Anda menyimpan file tabel Paimon di OSS, gunakan OSS-HDFS untuk operasi file atomik.

Tambah kolom baru

  • Tambahkan kolom c1 bertipe INT dan kolom c2 bertipe STRING di akhir tabel my_table.

    ALTER TABLE my_table ADD (c1 INT, c2 STRING);
  • Tambahkan kolom c2 bertipe STRING setelah kolom c1 di tabel my_table.

    ALTER TABLE my_table ADD c2 STRING AFTER c1;
  • Tambahkan kolom c1 bertipe INT di awal tabel my_table.

    ALTER TABLE my_table ADD c1 INT FIRST;

Ubah nama kolom

Ubah nama kolom c0 menjadi c1 di my_table.

ALTER TABLE my_table RENAME c0 TO c1;

Hapus kolom

Hapus kolom c1 dan c2 dari my_table.

ALTER TABLE my_table DROP (c1, c2);

Hapus partisi

Hapus partisi dt=20240108,hh=06 dan dt=20240109,hh=07 dari my_table.

ALTER TABLE my_table DROP PARTITION (`dt` = '20240108', `hh` = '08'), PARTITION (`dt` = '20240109', `hh` = '07');

Ubah komentar kolom

Ubah komentar kolom buy_count di my_table menjadi “ini adalah jumlah pembelian”.

ALTER TABLE my_table MODIFY buy_count BIGINT COMMENT 'this is buy count';

Ubah urutan kolom

  • Pindahkan col_a bertipe DOUBLE ke awal my_table.

    ALTER TABLE my_table MODIFY col_a DOUBLE FIRST;
  • Pindahkan col_a bertipe DOUBLE setelah col_b di my_table.

    ALTER TABLE my_table MODIFY col_a DOUBLE AFTER col_b;

Ubah tipe kolom

Ubah tipe col_a di my_table menjadi DOUBLE.

ALTER TABLE my_table MODIFY col_a DOUBLE;

Konversi tipe kolom yang didukung (〇 = didukung, kosong = tidak didukung):

image

Hapus tabel

Jalankan perintah berikut di editor SQL dari Development > Scripts.

-- Ganti my-catalog dengan nama katalog Paimon Anda.
-- Ganti my_db dengan nama database yang ingin Anda gunakan.
-- Ganti my_tbl dengan nama tabel katalog Paimon yang telah Anda buat.
DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

Jika pesan The following statement has been executed successfully! dikembalikan, tabel Paimon telah dihapus.

Lihat atau hapus katalog

  1. Di Management Portal, klik Console di kolom Actions untuk ruang kerja target.

  2. Di halaman Catalogs, lihat atau hapus katalog Apache Paimon.

    • Di halaman Catalog List, lihat nama dan jenis katalog. Untuk melihat database dan tabel dalam katalog, klik View di kolom Actions.

    • Di halaman Catalog List, klik Delete di kolom Actions untuk katalog yang akan dihapus.

      Catatan

      Menghapus katalog hanya menghapus registrasinya di Flink. File data yang mendasarinya tidak terpengaruh. Daftarkan ulang katalog untuk memulihkan akses.

      Atau, di editor SQL dari Development > Scripts, Anda dapat memasukkan DROP CATALOG <catalog name>;, pilih kode tersebut, lalu klik Run.

Referensi