All Products
Search
Document Center

DataWorks:Resource dan fungsi MaxCompute

Last Updated:Mar 27, 2026

Data Studio memungkinkan Anda mengelola resource dalam proyek MaxCompute. Unggah file resource dari mesin lokal atau Object Storage Service (OSS), lalu daftarkan sebagai user-defined functions (UDF) untuk digunakan dalam node pengembangan data dan kueri SQL.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Jika Anda mengunggah dari OSS, pastikan juga bahwa:

Buka Resource Management

  1. Buka halaman Workspaces di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah. Temukan ruang kerja tersebut dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Di panel navigasi kiri, klik ikon Resource Management image untuk membuka halaman Resource Management.

  3. Klik ikon image untuk membuat resource atau fungsi. Untuk mengatur resource terlebih dahulu, klik Create Directory, lalu klik kanan folder target dan pilih jenis resource atau fungsi yang ingin dibuat.

Buat dan kelola resource

Jenis resource

Resource merupakan fondasi untuk menjalankan user-defined functions (UDF) dan pekerjaan MapReduce di MaxCompute. Data Studio menyediakan antarmuka visual untuk mengunggah resource dari mesin lokal atau dari OSS. Resource yang diunggah dapat dibaca selama eksekusi UDF dan MapReduce.

Penting

Mengunggah resource ke MaxCompute melalui DataWorks dikenai biaya penyimpanan MaxCompute.

Jenis resource berikut didukung:

Jenis resourceDeskripsiEkstensi file
PythonKode Python untuk mendaftarkan UDF Python.py
JARPaket JAR Java terkompilasi untuk menjalankan program Java.jar
ArchiveHanya file terkompresi.zip, .tgz, .tar.gz, .tar, .jar
FileJenis file apa pun; penggunaan aktual bergantung pada engineApa saja

Batasan

BatasanBatas
Edit daring — PythonMaksimal 10 MB
Edit daring — FileMaksimal 500 KB
Unggah dari mesin lokalMaksimal 500 MB
Unggah dari OSSMaksimal 500 MB

Publikasi: Di ruang kerja mode standar, publikasikan resource ke lingkungan produksi agar berlaku.

Catatan

Konfigurasi sumber data mungkin berbeda antara lingkungan pengembangan dan produksi. Sebelum melakukan kueri tabel atau resource di suatu lingkungan, konfirmasikan sumber data untuk lingkungan tersebut.

Visibilitas: DataWorks hanya menampilkan dan mengelola resource yang diunggah melalui antarmukanya. Resource yang diunggah dengan cara lain tidak terlihat dalam daftar resource, tetapi dapat dilihat menggunakan metode yang dijelaskan di Lihat semua resource dalam proyek.

Buat resource

Resource MaxCompute dapat diunggah dari mesin lokal atau dari OSS. Setelah dibuat, referensikan langsung dalam node pengembangan data atau daftarkan sebagai fungsi.

  1. Di halaman Resource Management, pada kotak dialog Create Resource or Function, atur Type, Path, dan Name resource.

  2. Konfigurasikan sumber file:

    ParameterDeskripsi
    File SourcePilih On-premises untuk mengunggah dari mesin lokal, atau OSS untuk mereferensikan file di bucket OSS.
    File ContentJika On-premises: klik Upload untuk memilih file lokal. Jika OSS: pilih file dari daftar drop-down.
    Data SourcePilih sumber data MaxCompute tempat resource tersebut berada.
  3. Klik Save di bilah alat, lalu klik Publish. Hanya resource yang telah dipublikasikan yang dapat digunakan dalam Pengembangan Data.

Gunakan resource

Setelah membuat resource, referensikan dalam node pengembangan data:

  1. Di panel navigasi kiri, klik Resource Management.

  2. Temukan resource target, klik kanan, lalu pilih Reference Resources.

Kode referensi berikut ditambahkan ke node:

##@resource_reference{"Resource Name"}

Contohnya, node PyODPS 3 menampilkan:

##@resource_reference{"example.py"}

Format eksaknya bervariasi tergantung jenis node. Atau, daftarkan resource sebagai fungsi dan panggil dalam node pengembangan.

Kelola resource

Di halaman Resource Management, klik resource untuk melakukan operasi berikut:

  • Lihat versi historis: Bandingkan versi resource yang telah dipublikasikan untuk melacak perubahan. Pilih minimal dua versi untuk mengaktifkan perbandingan.

  • Hapus resource: Menghapus resource dari lingkungan pengembangan. Untuk menghapusnya dari lingkungan produksi, publikasikan perubahan tersebut. Setelah tugas publikasi berhasil, resource akan dihapus dari kedua lingkungan. Lihat Publikasikan tugas.

Lihat semua resource dalam proyek

DataWorks hanya menampilkan resource yang diunggah melalui antarmukanya. Untuk melihat semua resource dalam proyek MaxCompute — termasuk yang diunggah dengan cara lain — gunakan salah satu metode berikut:

  • Katalog data: Setelah menambahkan proyek MaxCompute ke katalog data, buka folder MaxCompute yang sesuai dan telusuri direktori sumber daya.

  • Node SQL MaxCompute: Jalankan perintah berikut dalam node SQL MaxCompute. Secara default, perintah ini mengakses resource komputasi yang terhubung ke lingkungan pengembangan. Lihat semua resource dalam proyek saat ini:

    list resources;

    Lihat semua resource dalam proyek tertentu:

    use MaxCompute_project_name;
    list resources;

    Untuk daftar lengkap perintah resource, lihat Operasi resource.

Buat dan kelola fungsi

Sebelum membuat fungsi, buat dan publikasikan resource terlebih dahulu.

Catatan

Untuk panduan menyiapkan file resource MaxCompute, lihat Pengembangan UDF (Java) dan Pengembangan UDF (Python 3).

Kapan menggunakan UDF vs. fungsi bawaan

Gunakan UDF ketika logika pemrosesan yang dibutuhkan oleh alur kerja Anda tidak dapat diekspresikan menggunakan fungsi bawaan yang tersedia. Untuk operasi standar seperti agregasi, aritmetika tanggal, dan manipulasi string, gunakan fungsi bawaan MaxCompute sebagai gantinya.

Jenis fungsi

Data Studio mendukung jenis fungsi berikut. Pilih jenis yang sesuai dengan perilaku UDF Anda:

Jenis fungsiPerilaku
MATHOperasi matematika pada nilai numerik
AGGREGATEBeroperasi pada beberapa baris dan mengembalikan satu nilai
STRINGPemrosesan dan transformasi string
DATEOperasi tanggal dan waktu
ANALYTICFungsi jendela yang menghitung hasil pada sekumpulan baris yang terkait dengan baris saat ini
OTHERFungsi yang tidak termasuk dalam kategori di atas

Buat fungsi

  1. Di halaman Resource Management, pada kotak dialog Create Resource or Function, atur Type, Path, dan Name fungsi.

  2. Konfigurasikan fungsi:

    ParameterDeskripsi
    Function TypePilih jenis fungsi. Lihat Jenis fungsi.
    Class NameKelas titik masuk untuk UDF, dalam format resource_name.class_name. Lihat Format Class Name.
    TypePilih Resource Function atau Embedded Function. Resource Function mereferensikan file resource yang diunggah. Embedded Function mencakup kode inline — konfigurasikan Language (JAVA, PYTHON2, atau PYTHON3) dan Code selain resource.
    Resource ListPilih resource yang akan dikaitkan dengan fungsi. Di Visual Mode, pilih dari resource yang sudah diunggah ke DataWorks. Di mode Code Editor, masukkan nama resource secara manual — pisahkan beberapa resource dengan koma. Untuk resource yang tidak dikelola oleh DataWorks (seperti resource tabel atau yang diunggah langsung ke MaxCompute), gunakan mode Code Editor. Jangan sertakan path file resource — cukup nama saja.
    Command SyntaxContoh cara memanggil UDF.
  3. Klik Save di bilah alat, lalu klik Publish. Hanya fungsi yang telah dipublikasikan yang tersedia dalam Pengembangan Data.

Format Class Name

Class Name mengidentifikasi titik masuk UDF. Formatnya bergantung pada jenis resource:

Resource JAR — gunakan packageName.ActualClassName:

com.aliyun.odps.examples.udf.UDAFExample

Dapatkan nilai ini dari IntelliJ IDEA menggunakan Copy Reference. Setelah fungsi dipublikasikan dengan nama tertentu (diatur di bidang Name), panggil dengan nama tersebut dalam SQL:

SELECT your_function_name(column_name) FROM table;

Resource Python — gunakan PythonResourceName.ActualClassName:

LcLognormDist_sh.LcLognormDist_sh

Setelah fungsi dipublikasikan, panggil dengan nama terdaftarnya dalam SQL:

SELECT your_function_name(column_name) FROM table;
Catatan

Jangan tambahkan akhiran .jar atau .py saat memasukkan nama resource. Resource harus dipublikasikan terlebih dahulu sebelum dapat direferensikan.

Gunakan user-defined function

Setelah fungsi dipublikasikan, gunakan dalam node pengembangan data atau kueri SQL:

  • Dalam node pengembangan data: Di panel navigasi kiri, klik Resource Management, temukan fungsi, klik kanan, lalu pilih Insert Function. Nama fungsi dimasukkan ke editor, misalnya, example_function().

  • Dalam kueri SQL: Panggil fungsi langsung berdasarkan namanya:

    SELECT example_function(column_name) FROM table;

Gunakan fungsi bawaan

MaxCompute menyediakan serangkaian fungsi bawaan yang mencakup operasi matematika, string, tanggal, agregasi, dan jendela.

Telusuri fungsi bawaan dengan salah satu cara berikut:

  • Berdasarkan jenis

  • Secara alfabetis

  • Jalankan perintah berikut dalam node SQL MaxCompute:

    show builtin functions [<function_name>];

    Ganti <function_name> dengan nama fungsi bawaan tertentu untuk memfilter hasil. Jika Anda menjalankan perintah ini menggunakan klien MaxCompute (odpscmd), diperlukan versi 0.43.0 atau lebih baru.

Catatan penggunaan dan batasan:

Kasus penggunaan umum:

Pemecahan masalah:

Kelola fungsi

Di halaman Resource Management, klik fungsi untuk melakukan operasi berikut:

  • Lihat versi historis: Klik tombol Version di sisi kanan halaman edit fungsi. Bandingkan versi yang disimpan atau dipublikasikan untuk melacak perubahan. Pilih minimal dua versi untuk mengaktifkan perbandingan.

  • Hapus fungsi: Klik kanan fungsi dan pilih Delete. Untuk menghapusnya dari lingkungan produksi, publikasikan perubahan tersebut. Lihat Publikasikan tugas.

Untuk memeriksa user-defined function melalui SQL, jalankan perintah berikut dalam node SQL MaxCompute:

Lihat semua UDF yang terdaftar dalam proyek MaxCompute yang terhubung:

SHOW FUNCTIONS;

Lihat detail UDF tertentu:

DESC FUNCTION <function_name>;

FAQ

T: Setelah mengunggah resource dan mendaftarkannya sebagai UDF di DataWorks, apakah saya dapat menggunakannya baik dalam kueri SQL DataAnalysis maupun node SQL MaxCompute?

Ya. UDF yang didaftarkan melalui DataWorks disimpan dalam proyek MaxCompute, sehingga tersedia baik di node SQL MaxCompute maupun di SQL Query (Legacy) DataAnalysis.