全部产品
Search
文档中心

Realtime Compute for Apache Flink:Kelola katalog MaxCompute

更新时间:Dec 05, 2025

Setelah mengonfigurasi katalog MaxCompute, Anda dapat langsung mengakses tabel yang disimpan di MaxCompute selama pengembangan pekerjaan di Flink yang sepenuhnya dikelola tanpa perlu mendefinisikan skema tabel. Topik ini menjelaskan cara membuat, melihat, menggunakan, dan menghapus katalog MaxCompute di Flink yang sepenuhnya dikelola.

Informasi latar belakang

Katalog MaxCompute melakukan kueri ke layanan MaxCompute untuk mengambil informasi skema tabel fisik yang disimpan di MaxCompute. Hal ini memungkinkan Anda mengambil informasi bidang tertentu tanpa perlu mendeklarasikan skema tabel MaxCompute dalam Flink SQL. Katalog MaxCompute memiliki fitur-fitur berikut:

  • Nama database dalam katalog MaxCompute sesuai dengan nama proyek MaxCompute. Anda dapat beralih antar database untuk menggunakan tabel dari proyek MaxCompute yang berbeda.

  • Nama tabel dalam katalog MaxCompute sesuai dengan nama tabel fisik yang disimpan di MaxCompute. Tipe data dipetakan secara otomatis. Anda tidak perlu mendaftarkan tabel MaxCompute secara manual menggunakan pernyataan Data Definition Language (DDL). Hal ini meningkatkan efisiensi dan akurasi pengembangan.

  • Tabel yang disediakan oleh katalog dapat langsung digunakan sebagai tabel sumber, tabel dimensi, dan tabel sink dalam pekerjaan Flink SQL.

  • Saat Anda membuat tabel dalam katalog MaxCompute, tabel fisik yang sesuai akan dibuat secara otomatis di layanan MaxCompute. Tipe data juga dipetakan secara otomatis. Hal ini meningkatkan efisiensi pengembangan.

Topik ini menjelaskan cara mengelola katalog MaxCompute melalui langkah-langkah berikut:

Batasan

  • Hanya mesin komputasi Flink yang menggunakan Ververica Runtime (VVR) 6.0.7 atau versi lebih baru yang mendukung konfigurasi katalog MaxCompute.

  • Anda tidak dapat membuat database—yang merupakan proyek di MaxCompute—dalam katalog MaxCompute.

  • Anda tidak dapat memodifikasi skema tabel dalam katalog MaxCompute.

  • Katalog MaxCompute tidak mendukung pernyataan CREATE TABLE AS (CTAS).

Buat Katalog MaxCompute

Anda dapat mengonfigurasi katalog MaxCompute menggunakan UI atau perintah SQL. Metode UI direkomendasikan.

Gunakan UI (Direkomendasikan)

  1. Buka halaman Data Management.

    1. Login ke Konsol Realtime Compute for Apache Flink, lalu di kolom Actions ruang kerja target, klik Console.

    2. Klik Data Management.

  2. Klik Create Catalog, pilih ODPS, lalu klik Next.

  3. Masukkan pengaturan parameter.

    Penting

    Setelah katalog dibuat, Anda tidak dapat mengubah parameter berikut. Untuk melakukan perubahan, Anda harus menghapus katalog yang ada dan membuat yang baru.

    image

    Parameter

    Deskripsi

    Tipe

    Wajib

    Keterangan

    catalog name

    Nama Katalog MaxCompute.

    String

    Ya

    Masukkan nama kustom dalam bahasa Inggris.

    endpoint

    Titik akhir untuk koneksi layanan MaxCompute.

    String

    Ya

    Untuk informasi lebih lanjut tentang situs, lihat Endpoint.

    accessId

    ID AccessKey Akun Alibaba Cloud yang digunakan untuk mengakses layanan MaxCompute.

    String

    Ya

    Akun ini harus memiliki izin admin pada proyek yang akan diakses oleh katalog.

    accessKey

    Rahasia AccessKey Akun Alibaba Cloud yang digunakan untuk mengakses layanan MaxCompute.

    String

    Ya

    Tidak ada.

    project

    Nama proyek MaxCompute yang akan digunakan sebagai database default dalam katalog.

    String

    Tidak

    Jika Anda tidak mengatur parameter ini, proyek default adalah `default`.

    Catatan

    Setelah katalog dibuat, metadata akan menampilkan proyek yang Anda masukkan dan proyek yang dibuat oleh Akun Alibaba Cloud yang ditentukan.

    catalog.schema.enabled

    Menentukan apakah akan memetakan database dalam konsep Flink Catalog ke level skema.

    Boolean

    Tidak

    Skema adalah mekanisme yang digunakan untuk mengklasifikasikan tabel, resource, dan user-defined function (UDF) dalam suatu proyek. Satu proyek dapat berisi beberapa skema. Untuk informasi lebih lanjut, lihat Operasi skema.

    Parameter ini dapat diatur ke nilai-nilai berikut:

    • false (default): Database dalam konsep Flink Catalog dipetakan ke proyek MaxCompute. Ini berlaku untuk layanan MaxCompute yang fitur skemanya dinonaktifkan.

    • true: Database dalam konsep Flink Catalog dipetakan ke skema MaxCompute. Ini berlaku untuk layanan MaxCompute yang fitur skemanya diaktifkan.

  4. Klik OK.

    Anda dapat melihat katalog yang telah dibuat di bawah Metadata.

    Penting

    Jika ID AccessKey dan rahasia AccessKey yang digunakan untuk membuat katalog tidak memiliki izin untuk suatu proyek, informasi proyek tersebut tidak akan muncul dalam metadata. Hal ini tidak memengaruhi kemampuan Anda untuk membaca dari atau menulis ke katalog.

Gunakan perintah SQL

  1. Di editor teks pada halaman Data Query, masukkan perintah untuk mengonfigurasi katalog MaxCompute.

    CREATE CATALOG `<catalogName>` WITH (
      'type' = 'odps',
      'endpoint' = '<odpsEndpoint>',
      'accessId' = '<aliyunAccountAccessId>',
      'accessKey' = '<aliyunAccountAccessKey>',
      'project' = '<defaultProject>',
      'userAccount' = '<RAMUserAccount>'
    );

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Deskripsi

    Tipe

    Wajib

    Keterangan

    catalogName

    Nama Katalog MaxCompute.

    String

    Ya

    Masukkan nama kustom dalam bahasa Inggris.

    type

    Tipe katalog.

    String

    Ya

    Nilainya tetap `odps`.

    endpoint

    Titik akhir untuk koneksi layanan MaxCompute.

    String

    Ya

    Untuk informasi lebih lanjut tentang situs, lihat Endpoint.

    accessId

    ID AccessKey Akun Alibaba Cloud yang digunakan untuk mengakses layanan MaxCompute.

    String

    Ya

    Akun ini harus memiliki izin admin pada proyek yang akan diakses oleh katalog.

    accessKey

    Rahasia AccessKey Akun Alibaba Cloud yang digunakan untuk mengakses layanan MaxCompute.

    String

    Ya

    Tidak ada.

    project

    Nama proyek MaxCompute yang akan digunakan sebagai database default dalam katalog.

    String

    Tidak

    Jika Anda tidak mengatur parameter ini, proyek default adalah `default`.

    userAccount

    Nama Akun Alibaba Cloud atau pengguna Resource Access Management (RAM).

    String

    Tidak

    Jika AccessKey milik pengguna RAM dan bukan Akun Alibaba Cloud, serta pengguna RAM tersebut hanya memiliki izin admin pada beberapa proyek di bawah Akun Alibaba Cloud, atur parameter ini ke nama akun. Misalnya, RAM$[<account_name>:]<RAM_name>. Katalog MaxCompute kemudian hanya akan menampilkan daftar proyek yang memiliki izin untuk akun tersebut.

    Untuk informasi lebih lanjut tentang pengelolaan izin pengguna MaxCompute, lihat Perencanaan dan pengelolaan pengguna.

  2. Pilih kode untuk membuat katalog dan klik Run di sebelah kiri, di samping nomor baris.

    创建MaxCompute Catalog..png

Lihat Katalog MaxCompute

Gunakan UI (Direkomendasikan)

  1. Buka halaman Data Management.

    1. Login ke Konsol Realtime Compute for Apache Flink.

    2. Di kolom Actions ruang kerja target, klik Console.

    3. Klik Data Management.

  2. Pada halaman Catalog List, Anda dapat melihat Catalog Name dan Type.

    Klik View untuk melihat database dan tabel dalam katalog target.

Gunakan perintah SQL

  1. Di editor teks pada halaman Data Query, masukkan perintah berikut:

    DESCRIBE `<catalogName>`.`<projectName>`.`<tableName>`;

    Parameter

    Deskripsi

    catalogName

    Nama Katalog MaxCompute.

    projectName

    Nama proyek di MaxCompute.

    tableName

    Nama tabel fisik yang disimpan di MaxCompute.

  2. Pilih kode untuk melihat katalog dan klik Run, yang berada di sebelah kiri di samping nomor baris.

    Setelah perintah berhasil dieksekusi, informasi skema tabel fisik MaxCompute di Flink akan ditampilkan di bagian hasil di bawah editor.

Gunakan Katalog MaxCompute

Buat tabel fisik MaxCompute menggunakan katalog

Saat Anda menggunakan pernyataan DDL Flink SQL untuk membuat tabel dalam katalog MaxCompute, tabel fisik yang sesuai akan dibuat secara otomatis di proyek MaxCompute yang sesuai. Tipe data Flink dikonversi secara otomatis ke tipe data MaxCompute. Anda dapat membuat tabel non-partisi dan tabel partisi.

Contoh pembuatan tabel non-partisi:

CREATE TABLE `<catalogName>`.`<projectName>`.`<tableName>` (
 f0 INT,
  f1 BIGINT,
  f2 DOUBLE,
  f3 STRING
);

Setelah pernyataan dieksekusi, Anda dapat melihat tabel tersebut di proyek MaxCompute yang sesuai. Tabel non-partisi dengan nama yang ditentukan dibuat. Nama kolom dan tipe datanya sesuai dengan yang ada dalam pernyataan DDL Flink.

Contoh pembuatan tabel partisi:

CREATE TABLE `<catalogName>`.`<projectName>`.`<tableName>` (
	f0 INT,
  f1 BIGINT,
  f2 DOUBLE,
  f3 STRING,
  ds STRING
) PARTITIONED BY (ds);

Tambahkan kolom kunci partisi di akhir skema dalam pernyataan DDL Flink dan deklarasikan nama kolom kunci partisi dalam klausa PARTITIONED BY. Setelah pernyataan dieksekusi, lihat tabel tersebut di proyek MaxCompute yang sesuai. Tabel partisi dengan nama yang ditentukan dibuat. Kolom biasanya adalah f0, f1, f2, dan f3, sedangkan kolom kunci partisinya adalah ds.

Penting

Nama kolom di MaxCompute semuanya huruf kecil, tetapi nama kolom di Flink bersifat case-sensitive. Jika nama kolom dalam pernyataan DDL mengandung huruf kapital, nama tersebut akan dikonversi secara otomatis menjadi huruf kecil. Jika pernyataan DDL mengandung beberapa kolom dengan nama yang sama setelah dikonversi menjadi huruf kecil, sistem akan melaporkan error.

Baca data dari tabel Katalog MaxCompute

Katalog MaxCompute dapat mengambil skema tabel fisik dari layanan MaxCompute. Oleh karena itu, Anda dapat langsung membaca data tanpa perlu mendeklarasikan skema yang sesuai di Flink. Contohnya:

SELECT * FROM `<catalogName>`.`<projectName>`.`<tableName>`;

Perilaku default saat tidak ada parameter yang dideklarasikan adalah membaca semua partisi. Untuk membaca partisi tertentu atau menggunakan mode tabel sumber inkremental, Anda dapat mendeklarasikan parameter dalam komentar SQL. Untuk informasi lebih lanjut tentang pengaturan parameter, lihat MaxCompute. Contohnya:

Baca partisi tertentu:

SELECT * FROM `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'ds=230613') */;

Gunakan mode tabel sumber inkremental:

SELECT * FROM `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('startPartition' = 'ds=230613') */;

Gunakan mode tabel dimensi:

SELECT * FROM `<anotherTable>` AS l LEFT JOIN
`<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'max_pt()', 'cache' = 'ALL') */
FOR SYSTEM_TIME AS OF l.proc_time AS r
ON l.id = r.id;

Parameter lain untuk tabel sumber dan tabel dimensi yang didukung di MaxCompute dapat diatur dengan cara ini. Namun, perhatikan bahwa katalog MaxCompute tidak menyimpan informasi watermark. Untuk menentukan watermark saat membaca data dari tabel sumber, gunakan pernyataan CREATE TABLE ... LIKE .... Contohnya:

CREATE TABLE `<newTable>` ( WATERMARK FOR ts AS ts )
LIKE `<catalogName>`.`<projectName>`.`<tableName>`;

`ts` adalah kolom bertipe DATETIME dalam tabel fisik MaxCompute. Tipe ini dapat diatur sebagai event time di Flink, dan watermark dapat ditambahkan. Setelah tabel dibuat, semua data yang dibaca dari `newTable` memiliki watermark.

Tulis data ke tabel Katalog MaxCompute

Katalog MaxCompute mendukung penulisan data dalam mode partisi statis atau dinamis. Untuk informasi lebih lanjut, lihat MaxCompute. Misalnya, jika tabel fisik MaxCompute memiliki subpartisi `ds` dan `hh`, Anda dapat menggunakan pernyataan berikut untuk menulis data:

-- Tulis ke partisi statis
INSERT INTO `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'ds=20231024,hh=09') */
SELECT <otherColumns>, '20231024', '09' FROM `<anotherTable>`;

-- Tulis ke partisi dinamis
INSERT INTO `<catalogName>`.`<projectName>`.`<tableName>`
/*+ OPTIONS('partition' = 'ds,hh') */
SELECT <otherColumns>, ds, hh FROM `<anotherTable>`;
Penting

Dalam pernyataan SELECT, kolom kunci partisi harus ditempatkan setelah kolom biasa lainnya sesuai urutan tingkat partisinya.

Hapus Katalog MaxCompute

Peringatan

Menghapus katalog MaxCompute tidak memengaruhi pekerjaan yang sedang berjalan. Namun, pekerjaan yang menggunakan tabel dari katalog ini akan melaporkan error "table not found" saat dipublikasikan atau dimulai ulang. Lakukan dengan hati-hati.

Metode UI

  1. Buka halaman Data Management.

    1. Login ke Konsol Realtime Compute for Apache Flink.

    2. Di kolom Actions ruang kerja target, klik Console.

    3. Klik Data Management.

  2. Pada halaman Catalog List, temukan katalog yang akan dihapus dan klik Delete di kolom Actions.

  3. Pada kotak dialog yang muncul, klik Delete.

    Catatan

    Setelah penghapusan selesai, katalog target dihapus dari area Metadata di sebelah kiri.

Gunakan perintah SQL

  1. Di editor teks pada halaman Data Query, masukkan perintah berikut.

    DROP CATALOG `<catalogName>`;

    `<catalogName>` adalah nama katalog MaxCompute target yang ingin Anda hapus.

    Peringatan

    Menghapus katalog MaxCompute tidak memengaruhi pekerjaan yang sedang berjalan. Namun, tindakan ini memengaruhi pekerjaan yang belum online atau pekerjaan yang perlu dijeda dan dilanjutkan. Lakukan dengan hati-hati.

  2. Pilih perintah hapus katalog, klik kanan, lalu pilih Run.

  3. Di area Metadata di sebelah kiri, verifikasi bahwa katalog target telah dihapus.

Pemetaan tipe antara MaxCompute dan Flink

Untuk informasi lebih lanjut tentang tipe data yang didukung oleh MaxCompute, lihat Tipe data 2.0.

MaxCompute ke Flink

Saat Anda membaca data dari tabel fisik MaxCompute yang sudah ada, tipe data MaxCompute dari bidang-bidang tersebut dipetakan ke tipe data Flink seperti yang ditunjukkan dalam tabel berikut.

Tipe MaxCompute

Tipe Flink

BOOLEAN

BOOLEAN

TINYINT

TINYINT

SMALLINT

SMALLINT

INT

INTEGER

BIGINT

BIGINT

FLOAT

FLOAT

DOUBLE

DOUBLE

DECIMAL(precision, scale)

DECIMAL(precision, scale)

CHAR(n)

CHAR(n)

VARCHAR(n)

VARCHAR(n)

STRING

STRING

BINARY

BYTES

DATE

DATE

DATETIME

TIMESTAMP(3)

TIMESTAMP

TIMESTAMP(9)

ARRAY

ARRAY

MAP

MAP

STRUCT

ROW

JSON

STRING

Flink ke MaxCompute

Saat Anda menggunakan pernyataan DDL Flink untuk membuat tabel MaxCompute dalam katalog, tipe data Flink dari bidang-bidang dalam pernyataan DDL tersebut dipetakan ke tipe data MaxCompute seperti yang ditunjukkan dalam tabel berikut.

Tipe Flink

Tipe MaxCompute

BOOLEAN

BOOLEAN

TINYINT

TINYINT

SMALLINT

SMALLINT

INTEGER

INT

BIGINT

BIGINT

FLOAT

FLOAT

DOUBLE

DOUBLE

DECIMAL(precision, scale)

DECIMAL(precision, scale)

CHAR(n)

CHAR(n)

VARCHAR / STRING

STRING

BINARY

BINARY

VARBINARY / BYTES

BINARY

DATE

DATE

TIMESTAMP(n<=3)

DATETIME

TIMESTAMP(3<n<=9)

TIMESTAMP

ARRAY

ARRAY

MAP

MAP

ROW

STRUCT