全部产品
Search
文档中心

:Tabel eksternal Apache Paimon

更新时间:Nov 09, 2025

MaxCompute memungkinkan Anda membuat tabel eksternal Apache Paimon dan menetapkan pemetaan antara tabel eksternal dengan direktori tabel Apache Paimon yang disimpan di Object Storage Service (OSS). Anda dapat menggunakan tabel eksternal ini untuk mengakses data dalam tabel Apache Paimon yang tersimpan di OSS. Topik ini menjelaskan cara membuat tabel eksternal Apache Paimon dan mengaksesnya menggunakan MaxCompute.

Informasi latar belakang

Apache Paimon adalah format penyimpanan lake untuk pemrosesan streaming dan batch terintegrasi. Format ini mendukung penulisan berkapasitas tinggi dan kueri latensi rendah. Mesin komputasi umum seperti Spark, Hive, dan Trino dari Alibaba Cloud Realtime Compute for Apache Flink dan E-MapReduce terintegrasi secara mulus dengan Apache Paimon. Apache Paimon membantu Anda membangun layanan penyimpanan data lake sendiri di OSS dan menghubungkannya ke MaxCompute untuk menerapkan analitik data lake. Untuk informasi lebih lanjut tentang Apache Paimon, lihat Apache Paimon.

Prasyarat

  • Akun Alibaba Cloud yang digunakan untuk operasi memiliki izin CreateTable untuk membuat tabel MaxCompute. Untuk informasi lebih lanjut tentang izin tabel, lihat Izin MaxCompute.

  • Proyek MaxCompute telah dibuat. Untuk informasi lebih lanjut, lihat Buat Proyek MaxCompute.

  • Bucket OSS dan direktori terkait telah dibuat. Untuk informasi lebih lanjut, lihat Buat Bucket.

    Catatan

    MaxCompute hanya tersedia di wilayah tertentu. Untuk mencegah masalah konektivitas lintas wilayah, disarankan menggunakan bucket di wilayah yang sama dengan proyek MaxCompute Anda.

  • Fully managed Flink telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan Realtime Compute for Apache Flink.

Catatan penggunaan

  • MaxCompute hanya dapat membaca data dari tabel eksternal Apache Paimon tetapi tidak dapat menulis data atau menyinkronkan perubahan skema tabel secara otomatis.

  • Apache Paimon tidak mendukung proyek MaxCompute dengan fitur skema yang diaktifkan.

  • Tabel eksternal Apache Paimon tidak mendukung atribut pengelompokan.

  • Tabel eksternal Apache Paimon tidak mendukung fitur-fitur seperti kueri dan pelacakan balik data versi historis.

Sintaksis

Kode sampel berikut menunjukkan sintaksis untuk membuat tabel eksternal Apache Paimon di MaxCompute.

CREATE EXTERNAL TABLE  [if NOT EXISTS] <mc_oss_extable_name>
(
<col_name> <data_type>,
...
)
[partitioned BY (<col_name> <data_type>, ...)]
stored BY 'org.apache.paimon.hive.PaimonStorageHandler'
WITH serdeproperties (
    'odps.properties.rolearn'='acs:ram::xxxxxxxxxxxxx:role/aliyunodpsdefaultrole'
)
location '<oss_location>'
USING 'paimon_maxcompute_connector.jar';

Jika tabel eksternal Paimon yang Anda buat adalah tabel partisi, Anda harus melakukan operasi tambahan untuk mengimpor data partisi. Untuk informasi lebih lanjut, lihat Tabel Eksternal ORC.

  • Metode 1 (Disarankan): Secara otomatis mem-parsing struktur direktori OSS untuk mengidentifikasi partisi dan menambahkan informasi partisi ke tabel eksternal OSS.

    msck repair TABLE <mc_oss_extable_name> ADD partitions;
  • Metode 2: Secara manual jalankan perintah berikut untuk menambahkan informasi partisi ke tabel eksternal OSS.

    ALTER TABLE <mc_oss_extable_name> ADD PARTITION (<col_name>= <col_value>);

Tabel berikut menjelaskan parameter dalam kode sebelumnya.

Parameter

Diperlukan

Deskripsi

mc_oss_extable_name

Ya

Nama tabel eksternal Apache Paimon yang ingin Anda buat.

Nama tabel tidak peka huruf besar/kecil. Saat Anda menanyakan tabel eksternal, nama tabel tidak peka huruf besar/kecil, dan konversi paksa huruf besar dan kecil tidak didukung.

col_name

Ya

Nama kolom dalam tabel eksternal Apache Paimon.

Untuk membaca data dari tabel Apache Paimon, Anda harus memastikan bahwa skema tabel eksternal Apache Paimon yang dibuat sama dengan skema tabel Apache Paimon. Jika tidak, pembacaan data gagal.

data_type

Ya

Tipe data kolom tabel eksternal Apache Paimon.

Untuk membaca data dari tabel Apache Paimon, Anda harus memastikan bahwa tipe data kolom tabel eksternal Apache Paimon yang dibuat sama dengan tipe data kolom tabel Apache Paimon. Jika tidak, pembacaan data gagal.

odps.properties.rolearn

Ya

Nama Sumber Daya Cloud (ARN) dari peran RAM yang diberi izin untuk mengakses OSS.

Anda bisa mendapatkan ARN dari halaman detail peran di Konsol Resource Access Management (RAM).

oss_location

Ya

Direktori OSS tempat file data disimpan. Direktori OSS berada dalam format oss://<oss_endpoint>/<Nama Bucket>/<Nama Direktori OSS>/. MaxCompute secara otomatis membaca data dari semua file di direktori OSS yang Anda tentukan.

  • oss_endpoint: titik akhir OSS. Anda harus menggunakan titik akhir internal OSS untuk mencegah biaya tambahan yang ditimbulkan oleh lalu lintas Internet. Contoh: oss://oss-cn-beijing-internal.aliyuncs.com/xxx. Untuk informasi lebih lanjut tentang titik akhir internal OSS, lihat Wilayah dan titik akhir.

    Catatan

    Kami sarankan agar OSS untuk menyimpan file data ditempatkan di wilayah yang sama dengan proyek MaxCompute Anda. MaxCompute hanya dapat diterapkan di wilayah tertentu. Oleh karena itu, masalah konektivitas data lintas wilayah mungkin terjadi.

  • Nama Bucket: nama bucket OSS. Untuk informasi lebih lanjut tentang cara melihat nama bucket, lihat Daftar bucket.

  • Nama Direktori: nama direktori OSS. Anda tidak perlu menyertakan nama file dalam nama direktori. Contoh:

    oss://oss-cn-shanghai-internal.aliyuncs.com/oss-mc-test/Demo1/

Prosedur

Langkah 1: Siapkan data di Realtime Compute for Apache Flink

Buat katalog Apache Paimon dan tabel Apache Paimon, serta sisipkan data ke dalam tabel. Langkah ini dapat dilewati jika tabel Apache Paimon dan data sudah tersedia di Realtime Compute for Apache Flink.

  1. Masuk ke konsol Realtime Compute for Apache Flink dan buat katalog Apache Paimon. Untuk informasi lebih lanjut, lihat Buat Katalog Apache Paimon.

  2. Buat tabel Apache Paimon. Untuk informasi lebih lanjut, lihat Kelola Katalog Apache Paimon.

    1. Di panel navigasi sisi kiri konsol fully managed Flink, klik Catalogs. Di panel Katalog, temukan katalog Apache Paimon yang Anda buat dan klik database default. Di halaman yang muncul, klik Create Table, seperti yang ditunjukkan pada gambar berikut.

      image.png

    2. Di tab Built-in dari kotak dialog Create Table, klik Apache Paimon dan klik Berikutnya. Di langkah Buat Tabel, masukkan pernyataan pembuatan tabel berikut dan klik Confirm. Dalam contoh ini, tabel bernama test_tbl dibuat.

      CREATE TABLE `catalogname`.`default`.test_tbl (
          dt STRING,
          id BIGINT,
          data STRING,
          PRIMARY KEY (dt, id) NOT ENFORCED
      ) PARTITIONED BY (dt);
    3. Di halaman SQL Editor, buat draf SQL yang berisi pernyataan berikut, terapkan draf tersebut, dan jalankan penerapan untuk draf tersebut. Untuk informasi lebih lanjut tentang cara mengembangkan dan menjalankan draf SQL, lihat Kembangkan Draf SQL.

      INSERT INTO `catalogname`.`default`.test_tbl VALUES ('2023-04-21', 1, 'AAA'), ('2023-04-21', 2, 'BBB'), ('2023-04-22', 1, 'CCC'), ('2023-04-22', 2, 'DDD');
      Catatan
      • Pastikan versi mesin draf SQL adalah vvr-8.0.1-flink-1.17 atau yang lebih baru.

      • Jika penerapan SQL adalah penerapan streaming terbatas, Anda harus pergi ke halaman Deployments, klik Edit di pojok kanan atas bagian Parameters di tab Konfigurasi, dan tambahkan execution.checkpointing.checkpoints-after-tasks-finish.enabled: true ke bidang Other Configuration. Sebagai contoh, jika pernyataan INSERT INTO ... VALUES ... termasuk dalam penerapan SQL, penerapan tersebut adalah penerapan streaming terbatas. Untuk informasi lebih lanjut tentang cara mengonfigurasi parameter runtime penerapan, lihat Konfigurasikan Penerapan.

Langkah 2: Unggah plugin Apache Paimon ke proyek MaxCompute Anda

Anda dapat menggunakan salah satu metode berikut untuk mengunggah plugin Apache Paimon ke proyek MaxCompute.

Gunakan klien MaxCompute

Akses proyek MaxCompute di klien MaxCompute dan jalankan kode berikut untuk mengunggah paket paimon_maxcompute_connector.jar ke proyek MaxCompute:

ADD JAR <path_to_paimon_maxcompute_connector.jar>;

Gunakan konsol DataWorks

  1. Masuk ke konsol DataWorks. Di panel navigasi sisi kiri, klik Workspace. Di halaman Workspace, temukan workspace yang diinginkan dan pilih Shortcuts > Data Development di kolom Actions.

  2. Di halaman DataStudio, klik Create dan pilih Create Resource > JAR.

  3. Di kotak dialog Create Resource, konfigurasikan parameter, unggah paket paimon_maxcompute_connector.jar, dan kemudian klik Create. Untuk informasi lebih lanjut tentang cara membuat sumber daya, lihat Langkah 1: Buat Sumber Daya atau Unggah Sumber Daya yang Ada.

    image.png

  4. Setelah sumber daya dibuat, klik ikon image.png di bilah alat di tab konfigurasi sumber daya untuk mengirimkan sumber daya ke lingkungan pengembangan.

Langkah 3: Buat tabel eksternal Apache Paimon di klien MaxCompute (odpscmd) atau dengan menggunakan alat yang dapat menjalankan pernyataan SQL MaxCompute

Buat tabel eksternal Apache Paimon di klien MaxCompute (odpscmd) atau dengan menggunakan alat yang dapat menjalankan pernyataan SQL MaxCompute. Dalam contoh ini, tabel eksternal bernama oss_extable_paimon_1pt dibuat.

CREATE EXTERNAL TABLE oss_extable_paimon_1pt
(
    id BIGINT,
    data STRING
)
PARTITIONED BY (dt STRING )
stored BY 'org.apache.paimon.hive.PaimonStorageHandler'
WITH serdeproperties (
    'odps.properties.rolearn'='acs:ram::124*********:role/aliyunodpsdefaultrole'
)
location 'oss://oss-cn-beijing-internal.aliyuncs.com/paimon_flink/test_db_y.db/test_tbl/'
USING 'paimon_maxcompute_connector.jar'
;

Langkah 4: Baca data dari tabel eksternal Apache Paimon di klien MaxCompute (odpscmd) atau dengan menggunakan alat yang dapat menjalankan pernyataan SQL MaxCompute

  1. Jalankan perintah berikut di klien MaxCompute (odpscmd) atau alat lain yang dapat menjalankan SQL MaxCompute:

    SET odps.sql.common.table.planner.ext.hive.bridge = true;
    SET odps.sql.hive.compatible = true;
  2. Jalankan perintah berikut untuk menanyakan data dari tabel oss_extable_paimon_1pt:

    SELECT * FROM oss_extable_paimon_1pt;

    Hasil berikut dikembalikan:

    +------------+------------+------------+
    | id         | data       | dt         |
    +------------+------------+------------+
    | 1          | AAA        | 2023-04-21 |
    | 2          | BBB        | 2023-04-21 |
    +------------+------------+------------+
    Catatan

    Jika informasi partisi tidak ditampilkan dalam keluaran perintah, Anda dapat menjalankan perintah berikut untuk menambahkan informasi partisi:

    msck repair table oss_extable_paimon_1pt add partitions;

Referensi

Anda juga dapat membuat tabel eksternal Apache Paimon MaxCompute menggunakan katalog kustom di Flink. Setelah data ditulis ke tabel, Anda dapat menggunakan MaxCompute untuk menanyakan dan mengonsumsi data di tabel tersebut. Untuk informasi lebih lanjut, lihat Buat Tabel Eksternal Apache Paimon Menggunakan Realtime Compute for Apache Flink.