全部产品
Search
文档中心

Realtime Compute for Apache Flink:Kelola katalog Paimon

更新时间:Jan 22, 2026

Setelah membuat data catalog di DLF, Anda perlu mendaftarkannya di Flink agar Flink dapat mengakses metadata-nya. Topik ini menjelaskan cara menautkan katalog Paimon ke lingkungan Flink dan mengelolanya.

Sebelum memulai

  • Persyaratan versi

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

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

  • Persyaratan Penyimpanan

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

    • Storage class: Gunakan kelas penyimpanan Standard. Untuk informasi selengkapnya, lihat Storage class.

    • 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 data dalam format Paimon. Format data lake lain seperti Lance atau Iceberg tidak didukung.

  • Penyegaran Konsol
    Setelah membuat atau menghapus katalog, database, atau tabel, klik tombol refresh image untuk memperbarui tampilan konsol.

  • Pemetaan versi Paimon

    Versi Apache Paimon

    Versi VVR

    1.3

    11.4

    1.2

    11.2、11.3

    1.1

    11

    1.0

    8.0.11

    0.9

    8.0.7, 8.0.8, 8.0.9, dan 8.0.10

    0.8

    8.0.6

    0.7

    8.0.5

    0.6

    8.0.4

    0.6

    8.0.3

Buat katalog

Katalog Paimon mengelola metadata menggunakan berbagai jenis metastore. Pilih jenis yang paling sesuai dengan 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>, dengan:

    • bucket: nama bucket OSS Anda.

    • object: jalur tempat data Anda disimpan.

    Lihat nama bucket dan object Anda di OSS console.

    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 wajib 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.

    Untuk informasi selengkapnya, lihat Regions and Endpoints dan Create an AccessKey.

    fs.oss.accessKeyId

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

    Ya

    fs.oss.accessKeySecret

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

    Ya

Buat katalog DLF

DLF

  1. Buka konsol DLF dan buat katalog di wilayah yang sama dengan ruang kerja Flink Anda. Untuk informasi selengkapnya, lihat Quickly use DLF.

  2. Daftarkan katalog Paimon di Development Console.

    Catatan

    Operasi ini hanya membuat pemetaan ke katalog DLF. Membuat atau menghapus pemetaan katalog ini di Flink tidak memengaruhi data aktual di DLF.

    1. Login ke Realtime Compute for Apache Flink's Management Portal.

    2. Klik nama ruang kerja target.

    3. Daftarkan katalog menggunakan UI atau perintah SQL.

      UI

      1. Di panel navigasi kiri, klik Catalogs.

      2. Di halaman Catalogs, klik Create Catalog.

      3. Pilih Apache Paimon dan klik Next.

      4. Atur metastore ke DLF, pilih katalog DLF yang akan dikaitkan di kolom catalog name, lalu klik OK. Katalog tersebut terdaftar di Flink.

      SQL

      Di editor SQL dari Development > Scripts, jalankan pernyataan SQL berikut untuk mendaftarkan 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'
      );

      Parameter:

      Parameter

      Deskripsi

      Wajib

      Contoh

      type

      Jenis katalog. Atur ke paimon.

      Ya

      paimon

      metastore

      Jenis metastore. Atur nilainya ke rest.

      Ya

      rest

      token.provider

      Penyedia token. Atur nilainya ke dlf.

      Ya

      dlf

      uri

      URI yang digunakan untuk mengakses DLF REST Catalog Server. Formatnya adalah http://[region-id]-vpc.dlf.aliyuncs.com. Untuk informasi selengkapnya tentang ID wilayah, lihat Endpoints.

      Ya

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

      warehouse

      Nama katalog DLF.

      Ya

      dlf_test

DLF-Legacy

  1. Buka konsol DLF dan buat katalog di wilayah yang sama dengan ruang kerja Flink Anda. Untuk informasi selengkapnya, lihat Getting Started.

  2. Daftarkan katalog Paimon di Development Console.

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

    Tabel berikut menjelaskan parameter-parameter tersebut.

    • 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>, dengan:

      • bucket: nama bucket OSS Anda.

      • object: jalur tempat data Anda disimpan.

      Lihat nama bucket dan object Anda di OSS console.

      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 dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.

      Ya

      Untuk informasi selengkapnya, lihat Regions and endpoints dan Create an AccessKey pair.

      fs.oss.accessKeySecret

      Rahasia AccessKey dari 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 Create an AccessKey pair.

      dlf.catalog.accessKeySecret

      Rahasia AccessKey yang diperlukan untuk mengakses layanan DLF.

      Ya

      Untuk informasi selengkapnya, lihat Create an AccessKey pair.

      dlf.catalog.endpoint

      Titik akhir layanan DLF.

      Ya

      Untuk informasi selengkapnya, lihat Regions and endpoints.

      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

      Untuk informasi selengkapnya, lihat Regions and endpoints.

      Catatan

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

Kelola database

Jalankan perintah berikut di editor SQL dari Development > Scripts.

  • Buat database

    Setelah mendaftarkan katalog Paimon, database bernama default secara otomatis dibuat di katalog tersebut. Untuk membuat database tambahan, jalankan pernyataan SQL berikut:

    -- 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 mendaftarkan katalog Paimon, Anda dapat mereferensikan tabelnya langsung di pekerjaan Flink 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 namanya: ${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 Apache Paimon connector dan Primary key tables and append-only tables.

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

    Pernyataan CTAS dan CDAS secara otomatis menyinkronkan data dan perubahan skema tabel. Gunakan pernyataan ini untuk dengan mudah 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: TINYINTSMALLINTINT, 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: CHARVARCHAR, 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 menormalkan tipe data selama evolusi skema. Pekerjaan hanya akan gagal jika tipe lama dan baru tidak dapat dinormalisasi ke tipe dasar yang sama. Aturan:

        • TINYINTSMALLINTINTBIGINT dinormalisasi ke BIGINT.

        • FLOATDOUBLE dinormalisasi ke DOUBLE.

        • CHARVARCHARSTRING 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 tersebut dinormalisasi ke BIGINT. Ini adalah perubahan yang kompatibel, dan pekerjaan berjalan 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 ubah nama di OSS tidak bersifat atomik. Oleh karena itu, jika Anda menggunakan OSS untuk menyimpan file tabel Apache Paimon, berhati-hatilah saat mengubah nama tabel Apache Paimon. Kami menyarankan Anda menggunakan OSS-HDFS untuk memastikan atomicity operasi file.

Tambah kolom baru

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

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

    ALTER TABLE my_table ADD c2 STRING AFTER c1;
  • Tambah 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 this is buy count.

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;

Tabel berikut menjelaskan modifikasi tipe kolom yang didukung untuk tabel Paimon. Dalam gambar, 〇 menunjukkan bahwa konversi tipe didukung. Sel kosong menunjukkan bahwa konversi tipe 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 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 Catalogs, lihat nama dan jenis katalog. Untuk melihat database dan tabel dalam katalog, klik View di kolom Actions.

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

      Catatan

      Menghapus katalog Paimon dari Flink hanya menghapus definisinya (metadata) dari lingkungan Flink. File data tabel Paimon yang mendasarinya tetap tidak terpengaruh. Anda kemudian dapat mendaftarkan ulang katalog tersebut di Flink untuk mendapatkan kembali akses ke tabel-tabel Paimon tersebut.

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

Referensi