All Products
Search
Document Center

DataWorks:Buat dan Gunakan Fungsi Kustom

Last Updated:Aug 20, 2026

Jika fungsi bawaan yang disediakan oleh MaxCompute tidak memadai untuk kebutuhan bisnis Anda, Anda dapat membuat fungsi kustom (User-Defined Function/UDF) untuk memenuhi kebutuhan tersebut. Artikel ini menjelaskan cara membuat UDF secara visual di DataWorks.

Latar Belakang

UDF digunakan untuk memperluas pustaka fungsi yang sudah ada, memungkinkan Anda menambahkan logika dan perhitungan kustom sesuai kebutuhan saat menjalankan query, sehingga memberikan kemampuan pemrosesan data yang lebih kaya. Untuk informasi selengkapnya, lihat Ikhtisar UDF. Selain cara visual yang disediakan oleh DataWorks, Anda juga dapat membuat UDF menggunakan MaxCompute Studio atau melalui command line di MaxCompute. Untuk detailnya, lihat Buat Fungsi Kustom dengan MaxCompute Studio dan Buat Fungsi Kustom melalui Command Line di MaxCompute.

Prasyarat

Anda harus membuat fungsi berdasarkan sumber daya. Oleh karena itu, sebelum membuat fungsi, pastikan Anda telah membuat sumber daya MaxCompute dan mengunggah atau menambahkannya ke DataWorks. Untuk informasi selengkapnya, lihat Buat Sumber Daya MaxCompute.

Catatan

Saat membuat sumber daya MaxCompute, Anda dapat merujuk pada Develop a UDF in Java dan UDF development (Python 3) untuk menyiapkan file sumber daya MaxCompute.

Batasan Penggunaan

DataWorks hanya mendukung peninjauan dan pengelolaan fungsi kustom yang diunggah melalui antarmuka visual DataWorks. Fungsi kustom yang ditambahkan ke engine MaxCompute menggunakan alat lain (misalnya, MaxCompute Studio) harus dimuat secara manual ke DataWorks melalui fitur MaxCompute Functions agar dapat dilihat dan dikelola di DataWorks. Untuk informasi selengkapnya, lihat Manage MaxCompute functions.

Daftarkan Fungsi

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

  2. Buat alur kerja. Untuk informasi selengkapnya, lihat Create an auto triggered workflow.

  3. Buat fungsi baru.

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

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

    3. Klik Create.

    4. Di dialog Register Function, konfigurasikan parameter berikut.

      注册函数

      Parameter

      Deskripsi

      Function Type

      Pilih jenis fungsi, termasuk Mathematical Operation Functions, Aggregate Functions, String Processing Functions, Date Functions, Window Functions, dan Other Functions. Untuk informasi selengkapnya, lihat Use built-in functions.

      MaxCompute Engine Instance

      Tidak dapat diubah secara default.

      Function Name

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

      Owner

      Secara default menampilkan akun yang sedang login, tetapi Anda juga dapat memilih akun lain.

      Class Name

      Nama kelas fungsi UDF, dengan format nama_sumber_daya.nama_kelas. Nama sumber daya dapat berupa nama paket Java atau nama sumber daya Python.

      DataWorks mendukung dua jenis sumber daya MaxCompute untuk pembuatan fungsi kustom, yaitu JAR dan Python. Konfigurasi Class Name untuk masing-masing jenis adalah sebagai berikut:

      • Ketika jenis sumber daya adalah JAR, Class Name dikonfigurasi dalam format Java package name.actual class name, yang dapat Anda peroleh di IDEA menggunakan perintah copy reference.

        Contohnya, com.aliyun.odps.examples.udf adalah nama paket Java, dan UDAFExample adalah nama kelas sebenarnya, maka parameter Class Name dikonfigurasi sebagai com.aliyun.odps.examples.udf.UDAFExample.

      • Jika jenis sumber daya adalah Python, format Class Name adalah nama_sumber_daya_Python.nama_kelas_sebenarnya.

        Contohnya, LcLognormDist_sh adalah nama sumber daya Python, dan LcLognormDist_sh adalah nama kelas sebenarnya, maka parameter Class Name dikonfigurasi sebagai LcLognormDist_sh.LcLognormDist_sh.

        Catatan
        • Saat mengisi nama sumber daya, jangan tambahkan ekstensi .jar atau .py.

        • Sumber daya harus diajukan dan dipublikasikan terlebih dahulu sebelum dapat digunakan. Untuk informasi selengkapnya, lihat Create and use MaxCompute resources.

      Resources

      Pilih sumber daya yang diperlukan untuk mendaftarkan fungsi.

      • Mode visual: hanya mendukung pemilihan sumber daya yang telah diunggah atau ditambahkan ke DataWorks.

      • Mode skrip: mendukung pemilihan semua sumber daya di engine MaxCompute yang sesuai.

      Catatan
      • Tidak perlu mengisi path sumber daya yang telah ditambahkan.

      • Jika UDF memanggil beberapa sumber daya, pisahkan nama sumber daya tersebut dengan koma Inggris (,).

      Description

      Deskripsi singkat mengenai fungsi UDF ini.

      Expression Syntax

      Contoh penggunaan spesifik UDF ini, misalnya test.

      Parameter Description

      Penjelasan rinci mengenai tipe parameter input yang didukung serta tipe nilai kembaliannya.

      Return Value

      Nilai kembalian, contohnya 1. Opsional.

      Example

      Contoh penggunaan fungsi. Opsional.

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

  5. Ajukan fungsi.

    1. Klik ikon 提交 di bilah alat.

    2. Di dialog Submission, masukkan Change Description.

    3. Klik OK.

Untuk informasi tentang cara melihat fungsi yang ada di engine komputasi MaxCompute, riwayat perubahan fungsi, dan operasi terkait lainnya, lihat Manage MaxCompute functions.

Lihat Versi Fungsi dan Lakukan Rollback

Klik kanan nama fungsi yang sesuai, lalu klik View Earlier Versions untuk melihat informasi versi historis fungsi atau melakukan operasi rollback.

查看

Gunakan Fungsi Kustom di Node

Anda dapat langsung menggunakan nama fungsi kustom. Pilih sumber daya, klik kanan Insert Function, lalu nama fungsi kustom akan secara otomatis dihasilkan di halaman edit node saat ini.节点中使用函数

Lampiran I: Lihat Daftar Fungsi Kustom

  • Gunakan perintah SHOW FUNCTIONS untuk menampilkan semua fungsi kustom yang telah didaftarkan di proyek engine komputasi MaxCompute yang terikat dengan ruang kerja DataWorks.

  • MaxCompute memiliki banyak fungsi bawaan. Untuk informasi selengkapnya, lihat: Ikhtisar Fungsi Bawaan.

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

Lampiran II: Lihat Detail Fungsi Kustom

  • Gunakan perintah DESCRIBE atau bentuk singkatnya DESC diikuti nama fungsi untuk melihat informasi detail fungsi kustom.

    // Gunakan bentuk singkat untuk melihat detail fungsi kustom
    DESC FUNCTION <function_name>;
  • Di DataWorks, jika logika pemrosesan yang Anda butuhkan dalam alur kerja tidak dapat diimplementasikan dengan fungsi yang tersedia, Anda dapat menulis fungsi kustom MaxCompute dan mengunggah serta mengaitkan sumber daya terkait (seperti file JAR, file Python, dll.) untuk mengelola dan memperluas kemampuan pemrosesan data Anda. Untuk informasi selengkapnya, lihat Manage MaxCompute resources.

Praktik Terbaik

Setelah fungsi kustom dibuat, Anda dapat merujuk pada Best practice: Grant specific user access to a UDF untuk mengelola kontrol akses UDF.

Dokumen Terkait

Pertanyaan Umum

T: Setelah sumber daya diunggah melalui DataWorks dan didefinisikan sebagai fungsi UDF, apakah fungsi tersebut dapat digunakan dalam query SQL Analisis Data selain di node ODPS SQL di Data Development?

J: Ya. Fungsi UDF yang didaftarkan melalui DataWorks sebenarnya disimpan di proyek MaxCompute, sehingga tidak hanya dapat digunakan di node ODPS SQL, tetapi juga dalam query SQL Analisis Data.