MaxCompute mendukung proyek eksternal. Untuk membuat proyek eksternal, petakan direktori katalog Paimon di Object Storage Service (OSS). Hirarki sistem file proyek eksternal mengikuti struktur sistem file Paimon standar. Izin akses bergantung pada otorisasi yang diberikan kepada peran RAM Anda untuk bucket OSS. Anda dapat membaca dan menulis metadata serta data dalam format lake Paimon. Metode ini memetakan seluruh katalog, sehingga hirarki sistem file harus memenuhi persyaratan Paimon. Anda mengelola izin secara independen dan mengontrol lokasi penyimpanan file dalam format lake. Pendekatan ini cocok untuk skenario integrasi stream-batch yang memerlukan kontrol izin detail halus dan pemeliharaan mandiri.
Catatan penggunaan
Hanya tabel dengan format Paimon yang didukung.
Penulisan ke tabel Dynamic Bucket tidak didukung.
Penulisan ke tabel Cross Partition tidak didukung.
Prosedur
Langkah 1: Berikan izin kepada pengguna RAM
Jika Anda adalah pengguna Resource Access Management (RAM), tambahkan kebijakan akses berikut. Untuk informasi lebih lanjut tentang cara menambahkan izin, lihat Manage RAM user permissions.
AliyunMaxComputeFullAccess: Memberikan izin untuk membuat sumber data eksternal dan proyek eksternal.
Langkah 2: Buat sumber data eksternal Filesystem Catalog
Aktifkan OSS dan buat bucket untuk menyimpan data Paimon. Untuk informasi lebih lanjut, lihat Quick Start.
Login ke MaxCompute console, lalu pilih wilayah di pojok kiri atas.
Pada panel navigasi di sebelah kiri, pilih .
Pada halaman External Data Source, klik Create External Data Source.
Pada dialog Create External Data Source, konfigurasikan parameter berikut. Tabel berikut menjelaskan parameter tersebut.
Parameter
Wajib
Deskripsi
External Data Source Type
wajib
Pilih
Filesystem Catalog.External Data Source Name
Wajib
Nama kustom. Konvensi penamaan sebagai berikut:
Harus dimulai dengan huruf dan hanya boleh berisi huruf kecil, garis bawah (_), dan angka.
Tidak boleh melebihi 128 karakter.
Contoh:
external_fs.Description
Opsional
Masukkan informasi sesuai kebutuhan.
Region
Wajib
Wilayah saat ini digunakan secara default.
Authentication And Authorization
Wajib
Peran RAM Alibaba Cloud digunakan secara default.
RoleARN
Wajib
Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM. Peran ini harus memiliki izin untuk mengakses layanan OSS.
Login ke Resource Access Management (RAM) console.
Pada panel navigasi di sebelah kiri, pilih .
Pada bagian Basic Information, Anda dapat menemukan ARN.
Contoh:
acs:ram::124****:role/aliyunodpsdefaultrole.Storage Type
Wajib
OSS
OSS-HDFS
Endpoint
Wajib
Dibuat secara otomatis. Untuk wilayah China (Hangzhou), Endpoint-nya adalah
oss-cn-hangzhou-internal.aliyuncs.com.Foreign Server Supplemental Properties
Opsional
Menentukan properti tambahan untuk sumber data eksternal. Setelah properti ini ditentukan, tugas yang menggunakan sumber data ini dapat mengakses sistem sumber berdasarkan perilaku yang telah ditentukan.
CatatanUntuk informasi tentang parameter yang didukung, lihat dokumentasi resmi. Parameter spesifik akan ditambahkan secara bertahap seiring perkembangan produk.
Klik Confirm untuk membuat sumber data eksternal.
Pada halaman External Data Source, temukan sumber data target lalu klik Details pada kolom Actions.
Langkah 3: Buat proyek eksternal
Login ke MaxCompute console, lalu pilih wilayah di pojok kiri atas.
Pada panel navigasi di sebelah kiri, pilih .
Pada tab External Project, klik Create Project.
Pada dialog Create Project, konfigurasikan informasi proyek sesuai petunjuk lalu klik OK.
Parameter
Wajib
Deskripsi
Project Type
Wajib
Proyek eksternal digunakan secara default.
Region
Wajib
Wilayah saat ini digunakan secara default dan tidak dapat diubah.
Project Name (Globally Unique)
Wajib
Harus dimulai dengan huruf dan hanya boleh berisi huruf, angka, dan garis bawah (_). Panjangnya harus antara 3 hingga 28 karakter.
MaxCompute Foreign Server Type
Opsional
Pilih Filesystem Catalog.
MaxCompute Foreign Server
Opsional
Use Existing: Menampilkan daftar sumber data eksternal yang telah dibuat.
Create Foreign Server: Membuat dan menggunakan sumber data eksternal baru.
MaxCompute Foreign Server Name
Wajib
Select existing: Pilih sumber data eksternal yang telah dibuat dari daftar drop-down.
Create external data source: Nama sumber data eksternal baru akan digunakan.
Bucket Catalog
Wajib
Pilih path lengkap dari bucket OSS ke direktori sistem file pada tingkat katalog. Dalam contoh ini, path-nya adalah
oss://paimon-fs/paimon-test/.Table Format
(Wajib)
Paimon digunakan secara default.
Billing Method
Wajib
Subscription atau Pay-as-you-go.
Default Quota
Wajib
Pilih kuota yang sudah ada.
Description
Opsional
Deskripsi kustom untuk proyek.
Langkah 4: Gunakan SQL untuk mengakses sistem sumber data
Karena proyek eksternal dipetakan ke sumber data, menghapus proyek eksternal tidak akan menghapus data apa pun.
Namun, berbeda dengan tabel eksternal biasa, menjalankan operasi DROP TABLE atau DROP SCHEMA di proyek eksternal akan mengirim permintaan ke layanan peer. Hal ini akan menghapus permanen tabel atau data yang sesuai di database. Gunakan operasi DROP dengan hati-hati.
Pilih tool koneksi untuk login ke proyek eksternal.
Tampilkan daftar schema di proyek eksternal. Secara default, hanya path DB yang menyimpan tabel Paimon yang ditampilkan.
-- Aktifkan sintaks schema pada tingkat session. SET odps.namespace.schema=true; SHOW schemas; -- Hasil berikut dikembalikan. ID = 20250922********wbh2u7 default OKTampilkan daftar tabel dalam suatu schema di proyek eksternal.
-- <schema_name> adalah nama schema yang ditampilkan di proyek eksternal. USE SCHEMA <schema_name>; SHOW tables;Buat schema di proyek eksternal.
CREATE schema <schema_name>; -- Contoh: CREATE schema schema_test;Gunakan schema baru.
use schema <schema_name>; -- Contoh: use schema schema_test;Buat tabel di schema dan masukkan data.
Sintaks:
-- Buat tabel. CREATE TABLE [IF NOT EXISTS] <table_name> ( <col_name> <data_type>, ... ) [COMMENT <table_comment>] [PARTITIONED BY (<col_name> <data_type>, ...)] ; -- Masukkan data. INSERT {INTO|OVERWRITE} TABLE <table_name> [PARTITION (<pt_spec>)] [(<col_name> [,<col_name> ...)]] <select_statement> FROM <from_statement>Contoh:
CREATE TABLE new_table(id INT,name STRING); INSERT INTO new_table VALUES (101,'Zhang San'),(102,'Li Si'); -- Kueri tabel new_table. SELECT * FROM new_table; -- Hasil berikut dikembalikan. +------------+------------+ | id | name | +------------+------------+ | 101 | Zhang San | | 102 | Li Si | +------------+------------+
Pemetaan tipe data
Untuk informasi lebih lanjut tentang tipe data MaxCompute, lihat Data types (Version 1.0) dan Data types (Version 2.0).
Tipe data Paimon open source | Tipe data MaxCompute 2.0 | Dukungan baca/tulis | Deskripsi |
TINYINT | TINYINT | Integer bertanda 8-bit. | |
SMALLINT | SMALLINT | Integer bertanda 16-bit. | |
INT | INT | Integer bertanda 32-bit. | |
BIGINT | BIGINT | Integer bertanda 64-bit. | |
BINARY(MAX_LENGTH) | BINARY | Tipe data biner. Panjang maksimum 8 MB. | |
FLOAT | FLOAT | Bilangan titik mengambang biner 32-bit. | |
DOUBLE | DOUBLE | Bilangan titik mengambang biner 64-bit. | |
DECIMAL(precision,scale) | DECIMAL(precision,scale) | Bilangan desimal eksak. Default adalah
| |
VARCHAR(n) | VARCHAR(n) | String karakter panjang variabel. n adalah panjangnya, berkisar antara 1 hingga 65535. | |
CHAR(n) | CHAR(n) | String karakter panjang tetap. n adalah panjangnya, berkisar antara 1 hingga 255. | |
VARCHAR(MAX_LENGTH) | STRING | Tipe string. Panjang maksimum 8 MB. | |
DATE | DATE | Format tanggal: | |
TIME, TIME(p) | Tidak didukung | Tipe TIME Paimon merepresentasikan waktu tanpa zona waktu, terdiri dari jam, menit, dan detik, dengan presisi nanodetik. TIME(p) menentukan presisi pecahan detik dari 0 hingga 9 (default 0). MaxCompute tidak memiliki tipe data yang sesuai. | |
TIMESTAMP, TIMESTAMP(p) | TIMESTAMP_NTZ | Timestamp tanpa zona waktu, presisi hingga nanodetik. Untuk membaca tipe ini, aktifkan switch mode native: | |
TIMESTAMP WITH LOCAL TIME_ZONE(9) | TIMESTAMP |
| |
TIMESTAMP WITH LOCAL TIME_ZONE(9) | DATETIME | Jenis stempel waktu yang akurat hingga nanodetik. Format: | |
BOOLEAN | BOOLEAN | Tipe boolean. | |
ARRAY | ARRAY | Tipe kompleks. | |
MAP | MAP | Tipe kompleks. | |
ROW | STRUCT | Tipe kompleks. | |
MULTISET<t> | Tidak didukung | MaxCompute tidak memiliki tipe data yang sesuai. | |
VARBINARY, VARBINARY(n), BYTES | BINARY | String biner panjang variabel. |