Jika fungsi bawaan yang disediakan oleh MaxCompute tidak memenuhi kebutuhan bisnis Anda, Anda dapat membuat fungsi yang ditentukan pengguna (UDF) untuk memenuhi berbagai kebutuhan tersebut. Topik ini menjelaskan cara membuat MaxCompute UDF secara visual di DataWorks.
Informasi latar belakang
UDF digunakan untuk memperluas pustaka fungsi yang ada guna menyediakan lebih banyak fitur pemrosesan data. Anda dapat menentukan logika kode dan metode komputasi tugas sesuai dengan kebutuhan bisnis Anda untuk kueri. Untuk informasi lebih lanjut, lihat Ikhtisar. Selain metode visual yang dapat digunakan untuk membuat UDF di DataWorks, Anda juga dapat menggunakan MaxCompute Studio atau CLI di MaxCompute. Untuk informasi lebih lanjut, lihat Gunakan MaxCompute Studio untuk Membuat UDF dan Gunakan CLI di MaxCompute untuk Membuat UDF.
Prasyarat
Sebelum membuat MaxCompute UDF, Anda harus mengunggah sumber daya yang ada atau membuat sumber daya baru dan menambahkannya ke DataWorks secara visual. Untuk informasi lebih lanjut, lihat Buat dan Gunakan Sumber Daya MaxCompute.
Saat membuat sumber daya MaxCompute, Anda dapat merujuk ke Mengembangkan UDF dalam Java dan Mengembangkan UDF dalam Python 3 untuk menyiapkan file sumber daya MaxCompute yang diperlukan.
Batasan
DataWorks memungkinkan Anda melihat dan mengelola UDF yang diunggah secara visual hanya di Konsol DataWorks. Jika Anda menambahkan UDF ke mesin komputasi MaxCompute menggunakan alat lain seperti MaxCompute Studio, Anda harus menggunakan fitur MaxCompute function di DataWorks DataStudio untuk memuat UDF secara manual ke DataWorks. Anda dapat melihat dan mengelola UDF di DataWorks setelah proses pemuatan selesai. Untuk informasi lebih lanjut, lihat Kelola Fungsi MaxCompute.
Daftarkan fungsi
Pergi ke halaman DataStudio.
Buat alur kerja. Untuk informasi lebih lanjut, lihat Buat Alur Kerja yang Dipicu Otomatis.
Buat fungsi.
Perluas alur kerja yang diinginkan, klik kanan MaxCompute, dan pilih Create Function.
Di kotak dialog Create Function, masukkan Name dan Path.
Klik Create.
Di bagian Register Function dari tab konfigurasi yang muncul, konfigurasikan parameter yang dijelaskan dalam tabel berikut.

Parameter
Deskripsi
Function Type
Tipe fungsi. Nilai valid: Mathematical Operation Functions, Aggregate Functions, String Processing Functions, Date Functions, Window Functions, dan Other Functions. Untuk informasi lebih lanjut, lihat Gunakan fungsi bawaan.
Engine Instance MaxCompute
Mesin komputasi MaxCompute. Nilai parameter ini tidak dapat diubah.
Function Name
Nama fungsi. Anda dapat menggunakan nama fungsi untuk merujuk fungsi dalam pernyataan SQL. Nama fungsi harus unik secara global dan tidak dapat diubah setelah fungsi didaftarkan.
Owner
Pemilik fungsi. Pemilik default adalah akun yang digunakan untuk masuk ke Konsol DataWorks. Anda dapat mengubah nilai parameter ini.
Class Name
Nama kelas yang mengimplementasikan UDF. Konfigurasikan parameter ini dalam format
Nama sumber daya.Nama kelas. Nama sumber daya bisa berupa nama paket Java atau Python.Saat Anda mendaftarkan UDF di Konsol DataWorks, Anda dapat merujuk sumber daya MaxCompute termasuk paket JAR dan sumber daya Python. Format nilai parameter ini bervariasi berdasarkan tipe sumber daya:
Jika tipe sumber daya adalah JAR, konfigurasikan parameter Class Name dalam format
Nama paket JAR.Nama kelas aktual. Anda dapat menanyakan nama kelas dengan mengeksekusi pernyataancopy referencedi IntelliJ IDEA.Sebagai contoh, jika
com.aliyun.odps.examples.udfadalah nama paket Java danUDAFExampleadalah nama kelas, maka nilai parameter Class Name adalahcom.aliyun.odps.examples.udf.UDAFExample.Jika tipe sumber daya adalah Python, konfigurasikan parameter Class Name dalam format
Nama sumber daya Python.Nama kelas aktual.Sebagai contoh, jika
LcLognormDist_shadalah nama sumber daya Python danLcLognormDist_shadalah nama kelas, maka nilai parameter Class Name adalahLcLognormDist_sh.LcLognormDist_sh.CatatanAnda tidak perlu menyertakan akhiran .jar atau .py dalam nama sumber daya.
Anda dapat menggunakan sumber daya setelah sumber daya dikomit dan diterapkan. Untuk informasi tentang cara membuat sumber daya MaxCompute, lihat Buat dan gunakan sumber daya MaxCompute.
Resources
Pilih sumber daya yang ingin Anda gunakan untuk mendaftarkan fungsi.
Mode Visual: Jika Anda memilih mode ini, Anda hanya dapat memilih sumber daya yang telah diunggah atau ditambahkan ke DataWorks.
Editor Kode: Jika Anda memilih mode ini, Anda dapat memilih semua sumber daya di mesin komputasi MaxCompute.
CatatanAnda tidak perlu menentukan jalur sumber daya yang ditambahkan.
Jika beberapa sumber daya dirujuk dalam UDF, pisahkan nama sumber daya dengan koma (,).
Description
Deskripsi UDF.
Expression Syntax
Sintaks UDF. Contoh:
test.Parameter Description
Deskripsi parameter input dan output yang didukung.
Return Value
Opsional. Nilai kembali. Contoh: 1.
Example
Opsional. Contoh fungsi.
Klik ikon
di bilah alat atas untuk menyimpan UDF.Commit UDF.
Klik ikon
di bilah alat atas.Di kotak dialog Submit, masukkan komentar Anda di bidang Change description.
Klik Confirm.
Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi sisi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Development.
Untuk informasi tentang cara melihat fungsi di mesin komputasi MaxCompute dan riwayat perubahan fungsi, serta cara melakukan operasi lainnya, lihat Kelola Fungsi MaxCompute.
Lihat versi fungsi dan kembalikan fungsi
Di folder MaxCompute di bagian Alur Bisnis pada panel Alur Kerja Terjadwal, Anda dapat mengklik kanan nama fungsi MaxCompute dan memilih View Earlier Versions untuk melihat versi sebelumnya dari fungsi atau mengembalikan fungsi.

Gunakan UDF di node
Jika Anda ingin menggunakan UDF di node, Anda dapat langsung merujuk nama UDF dalam kode node. Secara rinci, Anda dapat menemukan UDF di panel Alur Kerja Terjadwal, klik kanan nama UDF, dan pilih Insert Function. Dengan cara ini, UDF akan ditampilkan di tab konfigurasi node.
Lampiran 1: Lihat UDF
Anda dapat menjalankan perintah
SHOW FUNCTIONSuntuk melihat semua UDF terdaftar di proyek MaxCompute yang ditambahkan ke ruang kerja DataWorks sebagai sumber data.MaxCompute menyediakan berbagai jenis fungsi bawaan. Untuk informasi lebih lanjut, lihat Ikhtisar Fungsi Bawaan.
// Lihat fungsi di proyek saat ini.
SHOW FUNCTIONS;Lampiran 2: Lihat detail UDF
Anda dapat menjalankan perintah
DESCRIBEatau singkatanDESCdiikuti dengan nama UDF untuk melihat detail UDF.// Gunakan perintah DESC singkat untuk melihat detail UDF. DESC FUNCTION <function_name>;Di DataWorks, jika logika pemrosesan yang diperlukan dalam alur kerja Anda tidak dapat diimplementasikan dengan menggunakan fungsi yang ada, Anda dapat menulis MaxCompute UDF dan mengunggah serta mengaitkan sumber daya yang sesuai seperti paket JAR atau file Python untuk memperluas kemampuan pemrosesan data Anda. Untuk informasi lebih lanjut, lihat Kelola Sumber Daya MaxCompute.
Praktik terbaik
Setelah membuat UDF, Anda dapat mengikuti petunjuk yang dijelaskan di Berikan Akses ke UDF Tertentu kepada Pengguna Tertentu untuk mengimplementasikan kontrol akses pada UDF.
Referensi
MaxCompute memungkinkan Anda mengemas program Java menjadi file JAR, mengunggah file JAR sebagai sumber daya MaxCompute, dan mendaftarkan MaxCompute UDF dengan beberapa klik. Untuk informasi lebih lanjut, lihat Kemas Program Java, Unggah Paket, dan Buat MaxCompute UDF.
Untuk informasi tentang FAQ tentang MaxCompute UDF yang ditulis dalam Java, lihat FAQ tentang MaxCompute Java UDF.
Untuk informasi tentang FAQ tentang MaxCompute UDF yang ditulis dalam Python, lihat FAQ tentang MaxCompute Python UDF.
FAQ
T: Setelah UDF didaftarkan berdasarkan sumber daya tertentu yang diunggah di Konsol DataWorks, apakah UDF dapat digunakan dalam SQL Query DataAnalysis?
A: Ya, UDF dapat digunakan dalam SQL Query DataAnalysis. UDF yang didaftarkan di Konsol DataWorks disimpan di proyek MaxCompute, sehingga dapat digunakan baik di node ODPS SQL maupun di SQL Query DataAnalysis.