全部产品
Search
文档中心

DataWorks:Buat dan gunakan MaxCompute UDF

更新时间:Oct 28, 2025

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.

Catatan

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

  1. Pergi ke halaman DataStudio.

  2. Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi sisi kiri, pilih Data Development and O&M > Data Development. Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Development.

  3. Buat alur kerja. Untuk informasi lebih lanjut, lihat Buat Alur Kerja yang Dipicu Otomatis.

  4. Buat fungsi.

    1. Perluas alur kerja yang diinginkan, klik kanan MaxCompute, dan pilih Create Function.

    2. Di kotak dialog Create Function, masukkan Name dan Path.

    3. Klik Create.

    4. 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 pernyataan copy reference di IntelliJ IDEA.

        Sebagai contoh, jika com.aliyun.odps.examples.udf adalah nama paket Java dan UDAFExample adalah nama kelas, maka nilai parameter Class Name adalah com.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_sh adalah nama sumber daya Python dan LcLognormDist_sh adalah nama kelas, maka nilai parameter Class Name adalah LcLognormDist_sh.LcLognormDist_sh.

        Catatan
        • Anda 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.

      Catatan
      • Anda 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.

  5. Klik ikon 保存 di bilah alat atas untuk menyimpan UDF.

  6. Commit UDF.

    1. Klik ikon 提交 di bilah alat atas.

    2. Di kotak dialog Submit, masukkan komentar Anda di bidang Change description.

    3. Klik Confirm.

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 FUNCTIONS untuk 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 DESCRIBE atau singkatan DESC diikuti 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

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.