All Products
Search
Document Center

MaxCompute:Buat tabel eksternal Apache Paimon menggunakan Realtime Compute for Apache Flink

Last Updated:Jun 25, 2026

MaxCompute memungkinkan Anda membuat tabel eksternal Apache Paimon dan menetapkan pemetaan antara tabel eksternal tersebut dengan direktori tabel Apache Paimon yang disimpan di Object Storage Service (OSS). Dengan demikian, Anda dapat menggunakan tabel eksternal Apache Paimon di MaxCompute untuk mengakses data dalam tabel Apache Paimon yang tersimpan di OSS. Topik ini menjelaskan cara membuat tabel eksternal Apache Paimon menggunakan Realtime Compute for Apache Flink serta cara melakukan kueri data melalui tabel eksternal tersebut di MaxCompute.

Informasi latar belakang

Apache Paimon adalah format penyimpanan data lake terpadu untuk aliran (streaming) dan batch yang menyediakan penulisan ber-throughput tinggi dan kueri ber-latensi rendah. Mesin komputasi umum seperti Spark, Hive, dan Trino di Realtime Compute for Apache Flink dan E-MapReduce terintegrasi secara mulus dengan Paimon. Dengan Apache Paimon, Anda dapat dengan cepat membangun data lake di Object Storage Service (OSS) dan menghubungkannya ke MaxCompute untuk analitik data lake. Untuk informasi selengkapnya tentang Apache Paimon, lihat dokumentasi Apache Paimon.

Prasyarat

  • Akun Alibaba Cloud yang Anda gunakan untuk melakukan operasi memiliki izin CreateTable guna membuat tabel MaxCompute. Untuk informasi selengkapnya mengenai izin tabel, lihat Izin MaxCompute.

  • Proyek MaxCompute telah dibuat. Untuk informasi lebih lanjut, lihat Create a project.

  • Object Storage Service (OSS) telah diaktifkan. Bucket dan direktori file telah dibuat. Untuk informasi lebih lanjut, lihat Create a bucket.

    Catatan

    MaxCompute hanya dideploy di wilayah tertentu. Untuk mencegah masalah konektivitas data lintas wilayah, kami menyarankan agar Anda menggunakan bucket yang berada di wilayah yang sama dengan proyek MaxCompute Anda.

  • Flink yang dikelola sepenuhnya telah diaktifkan. Untuk informasi lebih lanjut, lihat Create a workspace.

Tindakan Pencegahan

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

  • Apache Paimon tidak mendukung proyek MaxCompute yang telah mengaktifkan fitur skema.

  • Tabel eksternal Apache Paimon tidak mendukung atribut clustering.

  • Tabel eksternal Apache Paimon tidak mendukung fitur seperti kueri dan backtracking data versi historis.

Langkah 1: Unggah plugin Apache Paimon ke proyek MaxCompute Anda

Gunakan salah satu metode berikut untuk mengunggah Paimon plugin ke proyek MaxCompute Anda.

Gunakan klien MaxCompute (odpscmd)

Akses proyek MaxCompute Anda menggunakan klien MaxCompute (odpscmd) dan jalankan perintah berikut untuk mengunggah file paimon_maxcompute_connector.jar ke proyek tersebut.

ADD JAR <path_to_paimon_maxcompute_connector.jar>;

Gunakan Konsol DataWorks

  1. Masuk ke Konsol DataWorks. Di panel navigasi sebelah kiri, klik Workspace. Di kolom Actions pada workspace target Anda, pilih Quick Access > DataStudio.

  2. Pada halaman Data Development, klik Create dan pilih New Resource > JAR.

  3. Pada kotak dialog New resource, konfigurasikan parameter untuk mengunggah file paimon_maxcompute_connector.jar, lalu klik Create. Untuk informasi lebih lanjut tentang pembuatan resource, lihat Step 1: Create or upload a resource.

    Atur parameter berikut: untuk Engine Type, pilih MaxCompute; untuk Engine Instance, pilih glz_mc China (Beijing); untuk Schema, pilih default; untuk Resource Type, pilih JAR; dan centang Upload as ODPS Resource.

  4. Setelah resource dibuat, klik ikon image.png pada bilah alat di tab konfigurasi resource untuk melakukan commit resource ke lingkungan pengembangan.

Langkah 2: Buat tabel eksternal Apache Paimon menggunakan Realtime Compute for Apache Flink

Praktik terbaik dalam topik ini dilakukan berdasarkan Realtime Compute for Apache Flink. Realtime Compute for Apache Flink menulis data file Apache Paimon ke OSS. Katalog Apache Paimon dibuat di Konsol Realtime Compute for Apache Flink, dan tabel Apache Paimon yang dapat digunakan oleh MaxCompute untuk membaca data file Apache Paimon di OSS dibuat dalam katalog tersebut. Selanjutnya, MaxCompute menggunakan tabel Apache Paimon sebagai tabel eksternal untuk membaca data Apache Paimon yang tersimpan di OSS.

  1. Masuk ke Konsol Realtime Compute for Apache Flink dan buat Script. Untuk informasi lebih lanjut, lihat Query Scripts.

  2. Di editor skrip, masukkan definisi katalog dan nilai parameter berikut. Pilih kode tersebut dan klik Run.

    CREATE CATALOG `<catalog name>` WITH (
     'type' = 'paimon',
      'metastore' = 'maxcompute',
      'warehouse' = '<warehouse>',
      'maxcompute.endpoint' = '<maxcompute.endpoint>',
      'maxcompute.project' = '<maxcompute.project>',
      'maxcompute.accessid' = '<maxcompute.accessid>',
      'maxcompute.accesskey' = '<maxcompute.accesskey>',
      'maxcompute.oss.endpoint' = '<maxcompute.oss.endpoint>',
      'fs.oss.endpoint' = '<fs.oss.endpoint>',
      'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>',
      'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>'
    );

    Tabel berikut menjelaskan parameter dalam kode tersebut.

    Parameter

    Wajib

    Deskripsi

    catalog name

    Ya

    Nama katalog Apache Paimon. Nama hanya boleh berisi huruf. Dalam topik ini, nama katalog adalah catalogname.

    type

    Ya

    Jenis katalog. Tetapkan nilainya ke paimon.

    metastore

    Ya

    Jenis penyimpanan metadata. Tetapkan nilainya ke maxcompute.

    warehouse

    Ya

    Direktori gudang data di OSS, dalam format oss://<bucket>/<object>.

    • bucket: nama bucket OSS yang telah Anda buat.

    • object: path tempat data Anda disimpan.

    Anda dapat melihat nama bucket dan object Anda di Konsol OSS.

    maxcompute.endpoint

    Ya

    Titik akhir layanan MaxCompute.

    Anda harus mengonfigurasi parameter ini berdasarkan wilayah dan jenis koneksi jaringan yang dipilih saat membuat proyek MaxCompute. Untuk informasi selengkapnya tentang titik akhir yang sesuai dengan berbagai wilayah dan jenis jaringan, lihat Endpoint.

    maxcompute.project

    Ya

    Nama proyek MaxCompute.

    Proyek MaxCompute yang telah mengaktifkan fitur skema tidak didukung.

    maxcompute.accessid

    Ya

    ID AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki izin pada MaxCompute.

    Anda dapat memperoleh ID AccessKey di halaman AccessKey Management.

    maxcompute.accesskey

    Ya

    Rahasia AccessKey yang sesuai dengan ID AccessKey tersebut.

    maxcompute.oss.endpoint

    Tidak

    Titik akhir OSS yang diakses oleh MaxCompute. Jika Anda tidak mengonfigurasi parameter ini, nilai parameter fs.oss.endpoint akan digunakan secara default.

    Penting

    Bucket OSS berada di wilayah yang sama dengan proyek MaxCompute. Kami menyarankan agar Anda menetapkan parameter maxcompute.oss.endpoint ke Titik akhir internal. Untuk informasi selengkapnya tentang titik akhir OSS berbagai jenis jaringan di setiap wilayah, lihat Regions and Endpoints.

    fs.oss.endpoint

    Tidak

    Titik akhir OSS.

    Parameter ini wajib jika bucket OSS yang ditentukan oleh parameter warehouse tidak berada di wilayah yang sama dengan workspace Realtime Compute for Apache Flink atau jika menggunakan bucket OSS milik akun Alibaba Cloud lain.

    Catatan

    Anda harus mengonfigurasi titik akhir berdasarkan wilayah dan metode koneksi jaringan yang dipilih saat membuat bucket OSS. Untuk informasi selengkapnya tentang titik akhir yang sesuai dengan berbagai wilayah dan jenis jaringan, lihat Regions and Endpoints.

    fs.oss.accessKeyId

    Tidak

    ID AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.

    Parameter ini wajib jika bucket OSS yang ditentukan oleh parameter warehouse tidak berada di wilayah yang sama dengan workspace Realtime Compute for Apache Flink atau jika menggunakan bucket OSS milik akun Alibaba Cloud lain.

    Anda dapat memperoleh ID AccessKey di halaman AccessKey Management.

    fs.oss.accessKeySecret

    Tidak

    Rahasia AccessKey yang sesuai dengan ID AccessKey tersebut.

    Parameter ini wajib jika bucket OSS yang ditentukan oleh parameter warehouse tidak berada di wilayah yang sama dengan workspace Realtime Compute for Apache Flink atau jika menggunakan bucket OSS milik akun Alibaba Cloud lain.

  3. Buat tabel Apache Paimon.

    1. Buat tabel bernama test_tbl.

      Di tab Script, jalankan pernyataan berikut di editor skrip. Tunggu hingga pesan penyelesaian muncul di tab Result. Contoh ini menggunakan tabel bernama test_tbl.

      CREATE TABLE `catalogname`.`default`.test_tbl (
       dt STRING,
       id BIGINT,
       data STRING,
       PRIMARY KEY (dt, id) NOT ENFORCED
      ) PARTITIONED BY (dt);
    2. Tulis data ke tabel test_tbl.

      Di halaman Drafts, buat pekerjaan SQL yang berisi pernyataan berikut. Lalu, deploy dan jalankan pekerjaan tersebut. Untuk informasi selengkapnya tentang cara membuat dan menjalankan pekerjaan SQL, lihat Job development overview.

      -- Interval checkpoint diatur menjadi 10 detik agar data lebih cepat dikomit.
      SET 'execution.checkpointing.interval' = '10s';
      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
      • Tabel hasil Apache Paimon mengkomit data setiap kali proses checkpoint selesai.

      • Di lingkungan produksi, interval checkpoint dan interval minimal antar checkpoint bervariasi berdasarkan kebutuhan bisnis Anda terhadap latensi. Umumnya, nilai-nilai tersebut diatur antara 1 hingga 10 menit.

      • Versi mesin draft SQL harus vvr-8.0.5-flink-1.17 atau lebih baru.

Langkah 3: Baca data dengan MaxCompute

  1. Jalankan perintah berikut di Connect using the local client (odpscmd) atau menggunakan tool lain yang dapat menjalankan pernyataan SQL MaxCompute:

    SET odps.sql.common.table.planner.ext.hive.bridge = true;
    SET odps.sql.hive.compatible = true;
  2. Jalankan perintah berikut untuk melakukan kueri data dari tabel eksternal Apache Paimon test_tbl:

    SELECT * FROM test_tbl WHERE dt = '2023-04-21';

    Hasil berikut dikembalikan:

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