Artikel ini menjelaskan cara membuat Paimon Catalog berbasis Flink, menghasilkan data, lalu membuat proyek eksternal di MaxCompute berdasarkan Filesystem Catalog sehingga dapat langsung membaca data tabel Paimon.
Limitations
-
Hanya tabel dalam format Paimon yang didukung.
-
Penulisan ke tabel Dynamic Bucket tidak didukung.
-
Penulisan ke tabel Cross Partition tidak didukung.
-
Untuk informasi lebih lanjut, lihat Data type mapping.
Langkah-langkah Operasional
Langkah 1: Persiapan Data Sumber
Jika data tabel Paimon sudah tersedia di OSS, Anda dapat melewati langkah ini.
-
Masuk ke OSS console, buat Bucket. Dalam contoh ini, nama Bucket adalah
paimon-fs. Untuk detailnya, lihat Membuat Storage Space. Buat direktori baru bernamapaimon-testdi dalam Bucket tersebut. -
Masuk ke Flink console, lalu pilih Wilayah di pojok kiri atas.
-
Klik nama workspace target, lalu di panel navigasi sebelah kiri, pilih 数据管理.
-
Di halaman Catalog列表 di sebelah kanan, klik 创建Catalog . Di dialog 创建 Catalog yang muncul, pilih Apache Paimon, lalu klik 下一步 dan konfigurasikan parameter berikut:
Parameter
Wajib diisi?
Deskripsi
metastore
Wajib
Jenis penyimpanan metadata. Dalam contoh ini, pilih
filesystem.catalog name
Wajib
Nama catalog sesuai keinginan, misalnya
paimon-fs-catalog.warehouse
Wajib
Direktori gudang data yang ditentukan di layanan OSS. Dalam contoh ini,
oss://paimon-fs/paimon-test/.fs.oss.endpoint
Wajib
Endpoint layanan OSS, misalnya untuk wilayah Hangzhou:
oss-cn-hangzhou-internal.aliyuncs.com.fs.oss.accessKeyId
Wajib
Access Key ID yang diperlukan untuk mengakses layanan OSS.
fs.oss.accessKeySecret
Wajib
Access Key Secret yang diperlukan untuk mengakses layanan OSS.
-
Buat tabel Paimon berdasarkan Paimon Catalog dan tulis data ke dalamnya.
-
Di panel navigasi sebelah kiri, pilih .
-
Di tab 查询脚本, klik
, lalu buat skrip query baru.Jalankan kode berikut. Perhatikan bahwa Anda perlu menyesuaikan nama dalam kode sesuai dengan penamaan aktual:
CatatanKarena Flink menggunakan Paimon Catalog, struktur organisasi data di file system akan mengikuti format baku Paimon Catalog, yaitu
paimon_catalog_name/database_name.db/xxxx. Jika mesin lain digunakan untuk membaca/menulis data Paimon di direktori OSS tersebut, struktur tersebut juga harus diikuti, dan hanya data dalam format Paimon yang boleh disimpan. Jika tidak, sistem akan menganggapnya sebagai data abnormal dan menghasilkan error.CREATE TABLE `paimon-fs-catalog`.`default`.test_tbl ( id BIGINT, data STRING, dt STRING, PRIMARY KEY (dt, id) NOT ENFORCED ) PARTITIONED BY (dt) WITH ( 'bucket' = '3' ); INSERT INTO `paimon-fs-catalog`.`default`.test_tbl VALUES (1,'CCC','2024-07-18'), (2,'DDD','2024-07-18'),(3,'EEE','2025-06-18');
-
-
Lihat file yang dihasilkan. Masuk ke OSS console, lalu periksa tabel Paimon yang dihasilkan di direktori OSS yang terikat dengan Paimon Catalog.
Di direktori OSS
/paimon-test/default.db/test_tbl/, Anda dapat melihat direktori partisidt=2024-07-18/,dt=2025-06-18/, serta direktori metadatamanifest/,schema/, dansnapshot/.
Langkah 2: Membuat Sumber Data Eksternal di MaxCompute
-
Masuk ke MaxCompute console, lalu pilih Wilayah di pojok kiri atas.
-
Di panel navigasi sebelah kiri, pilih .
-
Di halaman External Data Source, klik Create External Data Source.
-
Di dialog Create External Data Source, konfigurasikan parameter. Tabel berikut menjelaskan parameter tersebut.
Parameter
Wajib diisi?
Deskripsi
External Data Source Type
Wajib
Pilih
Filesystem Catalog.External Data Source Name
Wajib
Nama dapat ditentukan sendiri. Aturan penamaan sebagai berikut:
-
Dimulai dengan huruf, hanya boleh berisi huruf kecil, garis bawah (_), dan angka.
-
Tidak boleh lebih dari 128 karakter.
Contoh:
external_fs.Description
Opsional
Isi sesuai kebutuhan.
Region
Wajib
Secara default adalah wilayah saat ini.
Authentication and Authorization
Wajib
Secara default menggunakan role RAM Alibaba Cloud.
RoleARN
Wajib
Informasi ARN role RAM. Role ini harus memiliki izin untuk mengakses layanan DLF dan OSS secara bersamaan.
-
Login ke RAM console.
-
Di panel navigasi kiri, pilih .
-
Di bagian Basic Information, Anda dapat memperoleh ARN.
Contoh:
acs:ram::124****:role/aliyunodpsdefaultrole.Storage Type
-
OSS
-
OSS-HDFS
Endpoint
Dihasilkan secara otomatis. Untuk wilayah Hangzhou:
oss-cn-hangzhou-internal.aliyuncs.com.Foreign Server Supplemental Properties
Opsional
Atribut tambahan sumber data eksternal yang dideklarasikan secara khusus. Setelah ditentukan, tugas yang menggunakan sumber data eksternal ini akan mengakses sistem sumber sesuai perilaku yang didefinisikan oleh parameter tersebut.
CatatanParameter spesifik yang didukung akan diumumkan dalam pembaruan dokumentasi resmi selanjutnya, dan parameter tersebut akan dibuka secara bertahap seiring pengembangan kemampuan produk.
-
-
Klik OK untuk membuat sumber data eksternal.
-
Di halaman External Data Source, temukan sumber data tersebut, lalu klik Details pada kolom Actions untuk melihat detailnya.
Langkah 3: Membuat Proyek Eksternal di MaxCompute
-
Masuk ke MaxCompute console, lalu pilih Wilayah di pojok kiri atas.
-
Di panel navigasi sebelah kiri, pilih .
-
Di tab External Project, klik Create Project.
-
Di dialog Create Project, konfigurasikan pengaturan, lalu klik OK.
Parameter
Wajib diisi?
Deskripsi
Project Type
Wajib
Secara default adalah proyek eksternal.
Region
Wajib
Secara default adalah wilayah saat ini, dan tidak dapat diubah di sini.
Project Name (Globally Unique)
Wajib
Dimulai dengan huruf, hanya boleh berisi huruf, angka, dan garis bawah (_), dengan panjang 3–28 karakter.
MaxCompute Foreign Server Type
Opsional
Pilih Filesystem Catalog.
MaxCompute Foreign Server
Opsional
-
Use Existing: akan menampilkan sumber data eksternal yang telah dibuat sebelumnya.
-
Create Foreign Server: akan membuat dan menggunakan sumber data eksternal baru.
MaxCompute Foreign Server Name
Wajib
-
Pilih yang sudah ada: pilih nama sumber data eksternal yang telah dibuat dari daftar drop-down.
-
Buat sumber data eksternal baru: maka akan menggunakan nama sumber data eksternal baru yang dibuat.
Authentication and Authorization
Wajib
Identitas pelaksana tugas. Jika role layanan terkait belum dibuat, Anda harus membuatnya terlebih dahulu agar dapat menggunakan mode ini.
RoleARN
Wajib
Informasi ARN role RAM. Role ini harus memiliki izin untuk mengakses layanan DLF dan OSS secara bersamaan.
-
Login ke RAM console.
-
Di panel navigasi kiri, pilih .
-
Di bagian Basic Information, Anda dapat memperoleh ARN.
Contoh:
acs:ram::124****:role/aliyunodpsdefaultrole.Storage Type
-
OSS
-
OSS-HDFS
Endpoint
Wajib
Dihasilkan secara default.
Bucket Catalog
Wajib
Pilih Bucket OSS lengkap beserta direktori file system hingga level Catalog. Dalam contoh ini,
oss://paimon-fs/paimon-test/.Table Format
Wajib
Secara default adalah Paimon.
Billing Method
Wajib
Subscription atau Pay-as-you-go.
Default Quota
Wajib
Pilih Quota yang sudah ada.
Description
Opsional
Deskripsi proyek sesuai keinginan.
-
Langkah 4: Membaca dan Menulis Tabel Paimon
-
Pilih tool koneksi untuk masuk ke proyek eksternal.
-
Masuk ke proyek eksternal yang baru dibuat, lalu lihat schema Paimon yang sudah ada.
-- Aktifkan switch dukungan sintaks schema di tingkat session. SET odps.namespace.schema=true; SHOW schemas; -- Hasil yang dikembalikan sebagai berikut. ID = 20250922********wbh2u7 default OK -
Baca tabel di schema default.
SET odps.sql.allow.fullscan=true; SELECT * FROM <external_project_name>.default.test_tbl; -- Hasil yang dikembalikan sebagai berikut. +------------+------------+------------+ | id | data | dt | +------------+------------+------------+ | 1 | CCC | 2024-07-18 | | 2 | DDD | 2024-07-18 | | 3 | EEE | 2025-06-18 | +------------+------------+------------+ -
Tulis data ke tabel Paimon yang sudah ada.
INSERT INTO test_tbl PARTITION(dt='2025-08-26') VALUES(4,'FFF'); SELECT * FROM test_tbl; -- Hasil yang dikembalikan sebagai berikut. +------------+------------+------------+ | id | data | dt | +------------+------------+------------+ | 1 | CCC | 2024-07-18 | | 2 | DDD | 2024-07-18 | | 3 | EEE | 2025-06-18 | | 4 | FFF | 2025-08-26 | +------------+------------+------------+ -
Buat tabel di schema baru, lalu tulis data.
Buat tabel baru dan tulis data. MaxCompute juga akan menulis data baru sesuai struktur organisasi Paimon Catalog di file system.
-- Buat schema. CREATE schema testschema; -- Buat tabel di schema yang baru dibuat. use schema testschema; CREATE TABLE table_test(id INT, name STRING); -- Masukkan data ke tabel baru, lalu baca. INSERT INTO table_test VALUES (101,'张三'),(102,'李四'); SELECT * FROM table_test; -- Hasil yang dikembalikan sebagai berikut. +------------+------------+ | id | name | +------------+------------+ | 101 | 张三 | | 102 | 李四 | +------------+------------+ -
Masuk ke OSS console, lalu cari direktori Bucket proyek eksternal di OSS untuk melihat schema dan tabel yang baru dibuat.