All Products
Search
Document Center

Realtime Compute for Apache Flink:Kelola user-defined functions (UDF)

Last Updated:Mar 27, 2026

Daftarkan user-defined function (UDF) sebelum menggunakannya dalam penerapan SQL. Topik ini menjelaskan cara mendaftarkan, memperbarui, dan menghapus UDF di Realtime Compute for Apache Flink.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Izin akses namespace diberikan kepada Pengguna RAM atau Peran RAM Anda. Untuk informasi selengkapnya, lihat Memberikan izin namespace.

  • Menyiapkan file JAR UDF (untuk UDF Java) atau file Python (untuk UDF Python) yang siap diunggah.

Hindari konflik dependensi JAR:

Saat membuat file JAR UDF, ikuti aturan berikut untuk mencegah konflik dependensi pada waktu proses:

  • Gunakan versi Flink yang sama di proyek UDF Anda dengan versi engine yang dipilih di SQL Editor.

  • Tandai dependensi terkait Flink sebagai <scope>provided</scope> dalam file POM Anda.

  • Paket dependensi pihak ketiga ke dalam JAR menggunakan Apache Maven Shade Plugin.

Untuk langkah-langkah pemecahan masalah, lihat Bagaimana Memecahkan Masalah Konflik Dependensi Flink?

Persyaratan UDF Python (hanya tingkat deployment):

  • Memerlukan Ververica Runtime (VVR) 8.0.3 atau yang lebih baru.

  • Konfigurasikan file dependensi (seperti python.files atau python.archives) di bagian Parameters pada tab Configuration.

  • Pemeriksaan sintaks tidak didukung pada draf UDF Python. Lewati pemeriksaan sintaks sebelum melakukan deployment.

Pilih antara catalog UDF dan deployment-level UDF

Realtime Compute for Apache Flink mendukung dua cakupan UDF. Pilih berdasarkan kasus penggunaan Anda:

AspekCatalog UDFDeployment-level UDF
CakupanTersedia di semua deployment dalam ruang kerjaTerikat pada satu deployment saja
Cara MendaftarSQL Editor > tab UDFs > Register UDF ArtifactUnggah artefak > pilih di Additional Dependencies > CREATE TEMPORARY FUNCTION dalam SQL
Versi MesinSecara default, versi terbaru Realtime Compute for Apache Flink digunakan untuk penguraian data — dapat menyebabkan konflik dengan deployment lamaTerikat pada versi engine dan kumpulan dependensi deployment tersebut

Jika catalog UDF menyebabkan ketidakcocokan dengan versi engine lama dalam deployment Anda, gunakan deployment-level UDF sebagai gantinya.

Daftarkan catalog UDF

  1. Masuk ke Konsol Realtime Compute for Apache Flink.

  2. Temukan ruang kerja dan klik Console di kolom Actions.

  3. Di panel navigasi kiri, klik Development > ETL.

  4. Di sisi kiri halaman SQL Editor, klik tab UDFs, lalu klik Register UDF Artifact.

  5. Pada kotak dialog Register UDF Artifact, unggah file JAR UDF Anda.

    Register UDF artifact

    Pilih salah satu metode unggah berikut:

    • Upload a file: Klik Click to select di samping Select a file untuk mengunggah file JAR. Untuk menambahkan file dependensi, klik Click to select di samping Dependencies.

      Catatan
      • File JAR disimpan di direktori sql-artifacts Bucket OSS yang terkait dengan ruang kerja Anda. Untuk UDF Java, dependensi dapat dikemas ke dalam JAR atau diunggah secara terpisah. Untuk UDF Python, unggah dependensi sebagai file dependensi terpisah.

    • External URL: Masukkan URL file JAR UDF yang sudah ada di lokasi eksternal.

      Catatan

      Hanya URL eksternal berikut yang didukung:

      • Titik akhir Bucket Object Storage Service (OSS) yang ditentukan saat Anda membeli ruang kerja. Lihat titik akhir ini di Workspace Details di Konsol Realtime Compute for Apache Flink.

      • Titik akhir sistem penyimpanan eksternal yang dapat diakses oleh Realtime Compute for Apache Flink, dengan daftar kontrol akses (ACL) baca-publik atau dengan akses yang secara eksplisit diberikan kepada Flink.

  6. Klik Confirm.

  7. Di bagian Available Functions pada kotak dialog Manage Functions, pilih UDF yang akan didaftarkan dan klik Create Functions. Flink mengurai file JAR dan secara otomatis mendeteksi kelas yang mengimplementasikan antarmuka UDF, fungsi agregat yang didefinisikan pengguna (UDAF), atau user-defined table-valued function (UDTF). Nama kelas diisi secara otomatis di kolom Function Name. Setelah pendaftaran, UDF muncul di panel UDFs di sisi kiri SQL Editor, masing-masing diawali dengan karakter fx yang disorot kuning.

    Catatan

    Secara default, versi terbaru Realtime Compute for Apache Flink digunakan untuk penguraian data saat Anda mendaftarkan catalog UDF. Jika deployment Anda menggunakan versi engine lama (dikonfigurasi di bagian Basic pada tab Configuration), masalah ketidakcocokan dapat terjadi. Dalam kasus tersebut, gunakan deployment-level UDF sebagai gantinya. Lihat Register a deployment-level UDF.

    Registered UDFs in the UDFs pane

Daftarkan deployment-level UDF

Deployment-level UDF memiliki cakupan hanya untuk satu deployment. Gunakan pendekatan ini jika deployment Anda berjalan pada versi engine lama, atau jika Anda memerlukan dukungan UDF Python.

  1. Unggah file JAR atau file Python. Di panel navigasi kiri, klik Artifacts. Di halaman Artifacts, klik Upload Artifact dan unggah file JAR atau file Python Anda.

  2. Tambahkan file tersebut sebagai dependensi dalam deployment Anda. Di tab Configurations halaman SQL Editor, pilih file JAR atau file Python dari Additional Dependencies.

  3. Daftarkan UDF dalam draf SQL Anda menggunakan salah satu pernyataan berikut:

    • Java UDF:

      CREATE TEMPORARY FUNCTION yourfunctionname;
    • Python UDF:

      CREATE TEMPORARY FUNCTION yourfunctionname LANGUAGE Python;

Perbarui UDF

Jika Anda memodifikasi kode UDF atau menambahkan fungsi ke file JAR yang sudah ada, perbarui artefak untuk menerapkan perubahan Anda.

Penting
  • File JAR baru harus mencakup semua kelas UDF yang sebelumnya telah didaftarkan — bukan hanya yang diubah.

  • Kode yang diperbarui hanya berlaku setelah Anda melakukan restart draf untuk deployment tersebut atau menerbitkan draf baru. Pekerjaan yang sedang berjalan tetap menggunakan file JAR asli.

  1. Masuk ke Konsol Realtime Compute for Apache Flink.

  2. Temukan ruang kerja dan klik Console di kolom Actions.

  3. Di panel navigasi kiri, klik Development > ETL.

  4. Di sisi kiri halaman SQL Editor, klik tab UDFs.

  5. Di panel UDFs, arahkan kursor ke nama UDF dan klik ikon 更新JAR.

  6. Pada kotak dialog Register UDF Artifact, unggah file JAR baru.

    Update JAR file

  7. Klik Update.

Hapus UDF

Catatan

Sebelum menghapus file JAR UDF, pastikan tidak ada deployment atau file SQL yang mereferensikan UDF apa pun yang didaftarkan dari file tersebut.

  1. Masuk ke Konsol Realtime Compute for Apache Flink.

  2. Temukan ruang kerja dan klik Console di kolom Actions.

  3. Di panel navigasi kiri, klik Development > ETL.

  4. Di sisi kiri halaman SQL Editor, klik tab UDFs.

  5. Di panel UDFs, arahkan kursor ke nama file JAR UDF dan klik ikon 删除JAR.

  6. Pilih Delete associated files untuk menghapus semua UDF yang didaftarkan dari file tersebut. Hal ini mencegah data kotor tersisa di ruang kerja Anda.

  7. Klik Confirm.

Langkah berikutnya