All Products
Search
Document Center

DataWorks:Buat dan gunakan fungsi user-defined

Last Updated:Jun 26, 2026

Jika fungsi bawaan MaxCompute tidak memenuhi kebutuhan bisnis Anda, Anda dapat membuat fungsi user-defined (UDF) untuk memperluas fungsionalitasnya. Topik ini menjelaskan cara membuat UDF di DataWorks menggunakan antarmuka visual.

Latar Belakang

Fungsi user-defined (UDF) memperluas pustaka fungsi yang sudah ada, memungkinkan Anda menentukan logika kustom untuk kueri dan meningkatkan pemrosesan data. Untuk informasi selengkapnya, lihat Ikhtisar UDF. Selain menggunakan antarmuka visual di DataWorks, Anda juga dapat membuat UDF melalui MaxCompute Studio atau command line. Untuk informasi selengkapnya, lihat Buat UDF di MaxCompute Studio dan Buat UDF di MaxCompute menggunakan perintah.

Prasyarat

Sebelum membuat fungsi, Anda harus membuat dan mengunggah resource MaxCompute ke DataWorks. Untuk informasi selengkapnya, lihat Buat resource MaxCompute.

Catatan

Untuk menyiapkan file resource Anda, lihat Kembangkan UDF (Java) atau Kembangkan UDF (Python 3).

Batasan

Di DataWorks, Anda hanya dapat melihat dan mengelola UDF yang diunggah melalui antarmuka visualnya. Jika UDF ditambahkan ke mesin komputasi MaxCompute menggunakan alat lain seperti MaxCompute Studio, Anda harus memuat UDF tersebut secara manual ke DataWorks melalui fitur MaxCompute Functions. Setelah itu, Anda dapat melihat dan mengelolanya di DataWorks. Untuk informasi selengkapnya, lihat Kelola fungsi MaxCompute.

Daftarkan fungsi

  1. Masuk ke Konsol DataWorks. Di wilayah target, klik Data Development and O&M > Data Development di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Development.

  2. Buat alur kerja. Untuk informasi selengkapnya, lihat Buat alur kerja berulang.

  3. Buat fungsi.

    1. Buka alur kerja, klik kanan MaxCompute, lalu pilih Create Function.

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

    3. Klik Create.

    4. Di kotak dialog Register Function, konfigurasikan parameter-parameter berikut.

      Parameter

      Deskripsi

      Function Type

      Pilih tipe fungsi. Nilai yang valid: Mathematical Operation Functions, Aggregate Functions, String Processing Functions, Date Functions, Window Functions, dan Other Functions. Untuk informasi selengkapnya, lihat Gunakan fungsi bawaan.

      MaxCompute Engine Instance

      Hanya-baca.

      Function Name

      Nama UDF, yang digunakan untuk mereferensikan fungsi dalam pernyataan SQL. Nama ini harus unik secara global dan tidak dapat diubah setelah fungsi didaftarkan.

      Owner

      Secara default, akun yang sedang login akan ditampilkan. Anda juga dapat memilih akun lain.

      Class Name

      Nama kelas UDF, dalam format resource_name.class_name. Nama resource dapat berupa nama paket Java atau nama resource Python.

      Saat Anda membuat UDF di DataWorks, Anda dapat menggunakan resource MaxCompute bertipe JAR atau Python. Konfigurasi nama kelas berbeda tergantung pada tipe resource:

      • Jika tipe resource adalah JAR, Class Name berformat package_name.actual_class_name. Anda dapat memperoleh nilai ini di IntelliJ IDEA menggunakan perintah copy reference.

        Contohnya, jika nama paket Java adalah com.aliyun.odps.examples.udf dan nama kelas aktual adalah UDAFExample, atur parameter Class Name menjadi com.aliyun.odps.examples.udf.UDAFExample.

      • Jika tipe resource adalah Python, Class Name berformat python_resource_name.actual_class_name.

        Contohnya, jika nama resource Python adalah LcLognormDist_sh dan nama kelas aktual adalah LcLognormDist_sh, atur parameter Class Name menjadi LcLognormDist_sh.LcLognormDist_sh.

        Catatan
        • Jangan tambahkan sufiks .jar atau .py ke nama resource.

        • Resource harus dikomit dan dipublikasikan sebelum dapat digunakan. Untuk informasi selengkapnya, lihat Buat dan gunakan resource MaxCompute.

      Resources

      Pilih resource yang diperlukan untuk mendaftarkan fungsi.

      • Mode visual: Anda hanya dapat memilih resource yang telah diunggah atau ditambahkan ke DataWorks.

      • Editor kode: Anda dapat memilih semua resource di mesin komputasi MaxCompute yang sesuai.

      Catatan
      • Anda tidak perlu memasukkan path dari resource yang telah ditambahkan.

      • Jika UDF memanggil beberapa resource, pisahkan nama resource dengan koma (,).

      Description

      Deskripsi singkat mengenai tujuan UDF.

      Expression Syntax

      Contoh penggunaan UDF. Misalnya, test.

      Parameter Description

      Deskripsi mengenai tipe parameter input yang didukung dan tipe nilai kembali.

      Return Value

      Contoh nilai kembali, misalnya 1. Parameter ini opsional.

      Example

      Contoh penggunaan fungsi. Parameter ini opsional.

  4. Klik ikon Save 保存 di bilah alat untuk menyimpan fungsi.

  5. Komit fungsi tersebut.

    1. Klik ikon Submit 提交 di bilah alat.

    2. Di kotak dialog Submission, masukkan Change Description.

    3. Klik OK.

Untuk informasi selengkapnya tentang cara melihat fungsi yang ada di mesin komputasi MaxCompute beserta riwayat perubahannya, lihat Kelola fungsi MaxCompute.

Lihat dan kembalikan versi fungsi sebelumnya

Klik kanan nama fungsi dan pilih View Earlier Versions untuk melihat riwayat versinya atau mengembalikannya.

Panel riwayat versi mencantumkan waktu komit, deskripsi perubahan, dan pengirim untuk setiap versi. Untuk memulihkan versi sebelumnya, pilih versi tersebut lalu klik Roll Back.

Gunakan fungsi di node

Anda dapat langsung menggunakan nama fungsi user-defined. Untuk memasukkan nama fungsi dengan cepat ke editor node saat ini, pilih resource lalu klik kanan Insert Function. Di pohon file proyek di sebelah kiri, di bawah node Function, klik kanan fungsi target—misalnya getregion—lalu pilih Reference Function dari menu konteks untuk memasukkan fungsi tersebut ke editor SQL di sebelah kanan. Sebagai contoh, gunakan getregion(ip) AS region dalam pernyataan SELECT untuk memanggil UDF.

Lampiran 1: Lihat fungsi user-defined

  • Jalankan perintah SHOW FUNCTIONS untuk menampilkan semua UDF yang terdaftar di proyek MaxCompute yang terikat ke komponen DataStudio ruang kerja DataWorks Anda.

  • MaxCompute menyediakan banyak fungsi bawaan. Untuk informasi selengkapnya, lihat Ikhtisar fungsi bawaan.

// Lihat fungsi di proyek saat ini.
SHOW FUNCTIONS;

Lampiran 2: Lihat detail fungsi

  • Jalankan perintah DESCRIBE atau DESC dengan nama fungsi untuk melihat detail UDF.

    // Gunakan bentuk singkat untuk melihat detail UDF.
    DESC FUNCTION <function_name>;
  • Jika fungsi yang ada di alur kerja tidak memenuhi kebutuhan Anda, tulis UDF MaxCompute. Kemudian, unggah dan asosiasikan resource-nya, seperti file JAR atau Python, untuk memperluas kemampuan pemrosesan data Anda. Untuk informasi selengkapnya, lihat Kelola resource MaxCompute.

Praktik terbaik

Setelah membuat UDF, lihat Berikan akses ke UDF tertentu kepada pengguna tertentu untuk menerapkan kontrol akses pada UDF tersebut.

Dokumen terkait

FAQ

T: Setelah saya mengunggah resource dan mendefinisikannya sebagai UDF di DataWorks, apakah saya dapat menggunakannya dalam kueri SQL di DataAnalysis selain di node ODPS SQL di DataStudio?

J: Ya. UDF yang didaftarkan di DataWorks disimpan di proyek MaxCompute yang mendasarinya, sehingga tersedia baik untuk node ODPS SQL maupun kueri SQL di DataAnalysis.