Anda harus mendaftarkan UDF untuk menggunakannya dalam penerapan SQL. Topik ini menjelaskan cara mendaftarkan, memperbarui, dan menghapus UDF.
Sebelum memulai
-
Jika pengguna RAM atau role RAM perlu mengelola UDF, pastikan memiliki izin untuk mengakses namespace target. Untuk informasi selengkapnya, lihat otorisasi konsol pengembangan.
-
Untuk menghindari konflik dependensi dalam file JAR saat mengembangkan UDF, ikuti panduan berikut:
-
Pastikan versi Flink yang Anda pilih di halaman pengembangan sesuai dengan versi Flink dalam dependensi POM Anda.
-
Untuk dependensi terkait Flink, atur cakupannya menjadi provided dengan menambahkan
<scope>provided</scope>. -
Gunakan Apache Maven Shade Plugin untuk mengemas dependensi pihak ketiga lainnya. Untuk informasi selengkapnya, lihat Apache Maven Shade Plugin.
CatatanUntuk informasi lebih lanjut tentang konflik dependensi Flink, lihat Bagaimana cara mengatasi konflik dependensi Flink?.
-
Daftarkan UDF
Catalog UDFs
-
Buka halaman pendaftaran UDF.
-
Pada kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi sebelah kiri, klik .
-
Klik tab Functions.
-
Klik Register UDF.
-
Unggah file JAR UDF.
Anda dapat mengunggah file JAR UDF dengan salah satu cara berikut:
-
Upload a file: Klik Select a file di samping bidang Select a file untuk memilih artefak UDF Anda. Jika UDF memiliki dependensi, klik Select a file di samping bidang Dependency File untuk mengunggah file yang diperlukan.
Catatan-
File UDF Anda diunggah ke direktori sql-artifacts di bucket OSS yang Anda pilih.
-
Untuk UDF Java, dependensi dapat dikemas ke dalam file JAR UDF atau diunggah secara terpisah. Untuk UDF Python, kami menyarankan agar Anda mengunggah dependensi secara terpisah.
-
-
External URL: Untuk menggunakan file UDF dari layanan lain, berikan URL eksternalnya.
CatatanDua jenis URL eksternal didukung:
-
Bucket OSS yang terkait dengan ruang kerja Flink Anda. Lihat detail bucket tersebut di halaman Workspace Details di Management Portal.
-
URL sistem penyimpanan eksternal yang dapat diakses oleh Realtime Compute for Apache Flink (baca-publik atau dengan izin yang diberikan).
-
-
-
Klik OK.
-
Di halaman Available Functions, pilih UDF yang ingin Anda daftarkan lalu klik Create Function.
Konsol pengembangan mengurai file artefak, mengidentifikasi kelas yang menggunakan antarmuka Flink UDF, UDAF, dan UDTF, serta secara otomatis mengisi bidang Function Name dengan nama kelas tersebut. Setelah UDF didaftarkan, Anda dapat melihatnya dalam daftar Functions. Ikon "fx" berwarna kuning muncul di sebelah kiri setiap UDF yang terdaftar.
CatatanSaat Anda mendaftarkan Catalog UDF, versi Flink terbaru digunakan untuk penguraian secara default. Jika penerapan SQL Anda menggunakan versi engine yang lebih lama, hal ini dapat menyebabkan masalah ketidakcocokan. Untuk mengatasinya, Anda dapat mengimplementasikan kode UDF berdasarkan versi engine yang diperlukan dan mendaftarkannya sebagai UDF tingkat penerapan (deployment-level UDF). Untuk informasi selengkapnya, lihat Deployment-level UDFs.
Deployment-level UDFs
-
UDF Python tingkat penerapan hanya didukung pada VVR 8.0.3 dan versi setelahnya.
-
Saat menggunakan UDF Python tingkat penerapan, Anda dapat mengonfigurasi file dependensi dengan menggunakan parameter seperti
python.filesataupython.archivesdalam parameter penerapan. -
Saat menggunakan UDF Python tingkat penerapan, pemeriksaan sintaks tidak didukung. Anda harus melewati pemeriksaan sintaks saat memulai penerapan.
Ikuti langkah-langkah berikut untuk mendaftarkan UDF tingkat penerapan:
-
Unggah file JAR UDF atau file Python.
Di panel navigasi sebelah kiri, buka Artifacts dan unggah file JAR atau file Python UDF.
-
Tentukan UDF tingkat penerapan dalam penerapan.
Di bagian Additional Dependencies untuk penerapan, tentukan file JAR atau file Python UDF.
-
Daftarkan UDF tingkat penerapan.
-
UDF Java
CREATE TEMPORARY FUNCTION yourfunctionname; -
UDF Python
CREATE TEMPORARY FUNCTION yourfunctionname LANGUAGE Python;
-
Perbarui UDF
Ikuti langkah-langkah berikut untuk memperbarui file JAR UDF setelah menambahkan UDF baru atau memodifikasi UDF yang sudah ada.
-
Buka halaman pendaftaran UDF.
-
Pada kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi sebelah kiri, klik .
-
Klik tab Functions.
-
Pada daftar Functions, arahkan kursor ke nama UDF target lalu klik ikon
. -
Unggah file JAR UDF. Di kotak dialog Update UDF JAR, pilih metode Upload a file atau External URL, konfigurasikan bidang Select a file dan Dependency File, lalu klik Modify.
Penting-
File JAR UDF baru harus berisi kelas untuk semua UDF yang saat ini terdaftar.
-
Perubahan dalam file JAR UDF baru hanya berlaku untuk penerapan baru atau yang telah dimulai ulang. Penerapan yang sedang berjalan tetap menggunakan file lama hingga dimulai ulang.
-
-
Klik Modify.
Hapus UDF
Sebelum menghapus file JAR UDF, pastikan tidak ada penerapan atau file SQL yang mereferensikan UDF yang didaftarkan darinya.
Untuk menghapus file JAR UDF, ikuti langkah-langkah berikut:
-
Buka halaman pendaftaran UDF.
-
Pada kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi sebelah kiri, klik .
-
Klik tab Functions.
-
Pada daftar Functions, arahkan kursor ke nama UDF target lalu klik ikon
. -
Pilih kotak centang Delete all functions and the associated file.
Untuk menghapus file JAR UDF, Anda juga harus menghapus semua UDF yang didaftarkan darinya guna menghindari inkonsistensi data.
-
Klik OK.
Topik terkait
-
Untuk informasi tentang jenis, pengiriman parameter, penggunaan, dan demo UDF berbasis JAR, lihat Java UDFs dan UDAFs.
-
Untuk informasi tentang jenis, manajemen dependensi, debugging, tuning, penggunaan, dan demo UDF Python, lihat Python UDFs dan UDAFs.