All Products
Search
Document Center

Realtime Compute for Apache Flink:Mengelola Katalog Iceberg

Last Updated:Dec 23, 2025

Setelah mengonfigurasi katalog Iceberg, Anda dapat menggunakan Realtime Compute for Apache Flink untuk mengakses tabel Iceberg di Alibaba Cloud Data Lake Formation (DLF) secara langsung. Topik ini menjelaskan cara membuat, melihat, dan menghapus katalog Iceberg, serta mengelola database dan tabel Iceberg di Konsol pengembangan.

Catatan

  • Hanya Ververica Runtime (VVR) 11.1 ke atas yang mendukung pembuatan dan konfigurasi katalog Iceberg serta tabel Iceberg.

  • Hanya katalog DLF yang didukung.

Buat Katalog Iceberg DLF

  1. Buat katalog di DLF. Untuk informasi selengkapnya, lihat Panduan cepat DLF.

    1. Katalog DLF harus berada di wilayah yang sama dengan ruang kerja Flink. Jika tidak, Anda tidak dapat mengaitkannya pada langkah-langkah berikutnya.

  2. Buat katalog Iceberg di Konsol pengembangan Realtime Compute for Apache Flink.

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

    • Semua tabel yang dibuat di katalog DLF melalui Iceberg REST adalah tabel Iceberg.

    1. Login ke Konsol Manajemen Realtime Compute for Apache Flink.

    2. Pada kolom Actions ruang kerja Anda, klik Console.

    3. Di bilah navigasi kiri, klik Development > Scripts.

    4. Buat skrip baru. Di editor SQL, salin dan tempel pernyataan SQL berikut. Di pojok kanan bawah, klik Environment, pilih kluster sesi VVR 11.2.0+, lalu jalankan pernyataan SQL untuk mendaftarkan katalog DLF melalui Iceberg REST.

      CREATE CATALOG `catalog_name` 
       WITH (
          'type' = 'iceberg',
          'catalog-type' = 'rest',
          'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg',
          'warehouse' = 'iceberg_test',
          'rest.signing-region' = 'cn-hangzhou',
          'io-impl' = 'org.apache.iceberg.rest.DlfFileIO'
      );

      Tabel berikut menjelaskan opsi-opsinya.

      Option

      Description

      Required

      Example

      type

      Jenis. Tetapkan nilai ini ke iceberg.

      Ya

      iceberg

      catalog-type

      Jenis katalog. Tetapkan nilai ini ke rest.

      Ya

      rest

      token.provider

      Penyedia token. Tetapkan nilai ini ke dlf.

      Ya

      dlf

      uri

      URI yang digunakan untuk mengakses katalog DLF melalui Iceberg REST. Untuk informasi selengkapnya, lihat Iceberg REST.

      Ya

      http://ap-southeast-1-vpc.dlf.aliyuncs.com/iceberg

      warehouse

      Nama katalog DLF Anda.

      Ya

      iceberg_test

      rest.signing-region

      ID wilayah DLF. Untuk informasi selengkapnya, lihat Endpoints.

      Ya

      ap-southeast-1

      io-impl

      Tetapkan nilai ini ke org.apache.iceberg.rest.DlfFileIO.

      Ya

      org.apache.iceberg.rest.DlfFileIO

Kelola database Iceberg

Di halaman Data Query, masukkan perintah berikut di editor teks, pilih kode tersebut, lalu klik Run.

  • Buat database

    Setelah membuat katalog Iceberg, sebuah database bernama default akan dibuat secara otomatis di dalam katalog tersebut.

    -- Ganti my-catalog dengan nama Catalog Anda.
    USE CATALOG `my-catalog`;
    
    -- Ganti my_db dengan nama database kustom.
    CREATE DATABASE `my_db`;
  • Hapus database

    Penting

    Anda tidak dapat menghapus database default dari katalog DLF.

    -- Ganti my-catalog dengan nama Catalog 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 apa pun.
    DROP DATABASE `my_db` CASCADE; -- Menghapus database beserta semua tabel di dalamnya.
    

Kelola tabel Iceberg

Buat tabel

Catatan

Setelah mengonfigurasi katalog Iceberg, Anda dapat mereferensikan tabel-tabelnya dalam suatu Pekerjaan. Saat menggunakan tabel Iceberg sebagai source, sink, atau tabel dimensi, Anda tidak perlu mendeklarasikan Data Definition Language (DDL)-nya. Anda dapat mereferensikan tabel menggunakan nama lengkapnya: ${Iceberg-catalog-name}.${Iceberg-db-name}.${Iceberg-table-name}. Atau, Anda dapat menjalankan terlebih dahulu pernyataan use catalog ${Iceberg-catalog-name} dan use ${Iceberg-db-name}. Setelah itu, Anda cukup mereferensikan tabel hanya dengan namanya: ${Iceberg-table-name}.

  • Buat tabel menggunakan pernyataan CREATE TABLE

    Di halaman Data Query, masukkan perintah berikut ke editor teks, pilih perintah tersebut, lalu klik Run.

    Contoh berikut menunjukkan cara membuat tabel partisi di database `my_db` dalam katalog `my-catalog`. Kunci partisi adalah `dt`, dan kunci primary terdiri dari `dt`, `shop_id`, dan `user_id`.

    -- Ganti my-catalog dengan nama Iceberg Catalog Anda.
    -- Ganti my_db dengan nama database yang ingin Anda gunakan.
    -- Anda juga dapat mengganti my_tbl dengan nama tabel kustom.
    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)
    ;

Ubah skema tabel

Di halaman Data Query, Anda dapat memasukkan perintah berikut di editor teks, memilih kode tersebut, lalu mengklik Run.

Operation

Code example

Ubah parameter tabel sementara

Anda dapat mengubah parameter tabel sementara saat menulis ke tabel dengan menambahkan petunjuk SQL setelah nama tabel. Parameter sementara hanya berlaku untuk Pekerjaan SQL saat ini.

  • Sementara atur upsert-enabled ke true saat menulis data ke tabel my_table.

    INSERT INTO tableName /*+ OPTIONS('upsert-enabled'='true') */
    SELECT ...;
  • Sementara atur monitor-interval ke 10s saat mengonsumsi data dari tabel my_table.

    SELECT * FROM my_table /*+ OPTIONS('monitor-interval'='10s') */

Ganti nama tabel

Ganti nama tabel my_table menjadi my_table_new.

ALTER TABLE my_table RENAME TO my_table_new;

Tambahkan kolom baru

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

    ALTER TABLE my_table ADD (c1 INT, c2 STRING);

Ganti nama kolom

Ganti nama kolom c0 di tabel my_table menjadi c1.

ALTER TABLE my_table RENAME c0 TO c1;

Hapus kolom

Hapus kolom c1 dan c2 dari tabel my_table.

ALTER TABLE my_table DROP (c1, c2);

Ubah komentar kolom

Ubah komentar kolom buy_count di tabel my_table menjadi 'this is buy count'.

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

Ubah urutan kolom

  • Pindahkan kolom col_a bertipe DOUBLE ke awal tabel my_table.

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

    ALTER TABLE my_table MODIFY col_a DOUBLE AFTER col_b;

Hapus tabel

Di halaman Data Query, masukkan perintah berikut di editor teks, pilih perintah tersebut, lalu klik Run.

-- Ganti my-catalog dengan nama Iceberg Catalog Anda.
-- Ganti my_db dengan nama database yang ingin Anda gunakan.
-- Ganti my_tbl dengan nama tabel Iceberg Catalog Anda.
DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

Jika muncul pesan The following statement has been executed successfully!, berarti tabel Iceberg telah dihapus.

Lihat atau hapus Katalog Iceberg

  1. Di Konsol Realtime Compute for Apache Flink, klik Console di kolom Actions untuk ruang kerja yang dituju.

  2. Di halaman Data Management, Anda dapat melihat atau menghapus Katalog Iceberg.

    • Di halaman Catalog List, Anda dapat melihat Catalog Name dan Type. Untuk melihat database dan tabel dalam katalog, klik View.

    • Hapus: Di halaman Catalog List, temukan katalog yang ingin Anda hapus, lalu klik Delete di kolom Actions.

      Catatan

      Menghapus katalog Iceberg hanya menghapus catatan dari Data Management di proyek Flink. Hal ini tidak memengaruhi file data tabel Iceberg. Setelah menghapus katalog, Anda dapat menggunakan kembali tabel Iceberg di dalamnya dengan membuat katalog Iceberg tersebut lagi.

      Atau, Anda dapat memasukkan DROP CATALOG <catalog name>; di editor teks pada halaman Data Query, pilih kode tersebut, lalu klik Run.