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:
Menyambungkan resource komputasi MaxCompute ke ruang kerja Anda
Menyiapkan file resource yang akan diunggah (dari mesin lokal atau bucket OSS)
Jika Anda mengunggah dari OSS, pastikan juga bahwa:
OSS telah diaktifkan, bucket telah dibuat, dan file resource Anda disimpan di bucket tersebut. Lihat Buat bucket dan Unggahan sederhana
Akun Alibaba Cloud yang digunakan untuk unggahan memiliki akses ke bucket target. Berikan izin yang diperlukan sebelum mengunggah
Buka Resource Management
Buka halaman Workspaces di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah. Temukan ruang kerja tersebut dan pilih Shortcuts > Data Studio di kolom Actions.
Di panel navigasi kiri, klik ikon Resource Management
untuk membuka halaman Resource Management.Klik ikon
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.
Mengunggah resource ke MaxCompute melalui DataWorks dikenai biaya penyimpanan MaxCompute.
Jenis resource berikut didukung:
| Jenis resource | Deskripsi | Ekstensi file |
|---|---|---|
| Python | Kode Python untuk mendaftarkan UDF Python | .py |
| JAR | Paket JAR Java terkompilasi untuk menjalankan program Java | .jar |
| Archive | Hanya file terkompresi | .zip, .tgz, .tar.gz, .tar, .jar |
| File | Jenis file apa pun; penggunaan aktual bergantung pada engine | Apa saja |
Batasan
| Batasan | Batas |
|---|---|
| Edit daring — Python | Maksimal 10 MB |
| Edit daring — File | Maksimal 500 KB |
| Unggah dari mesin lokal | Maksimal 500 MB |
| Unggah dari OSS | Maksimal 500 MB |
Publikasi: Di ruang kerja mode standar, publikasikan resource ke lingkungan produksi agar berlaku.
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.
Di halaman Resource Management, pada kotak dialog Create Resource or Function, atur Type, Path, dan Name resource.
Konfigurasikan sumber file:
Parameter Deskripsi File Source Pilih On-premises untuk mengunggah dari mesin lokal, atau OSS untuk mereferensikan file di bucket OSS. File Content Jika On-premises: klik Upload untuk memilih file lokal. Jika OSS: pilih file dari daftar drop-down. Data Source Pilih sumber data MaxCompute tempat resource tersebut berada. 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:
Di panel navigasi kiri, klik Resource Management.
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.
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 fungsi | Perilaku |
|---|---|
| MATH | Operasi matematika pada nilai numerik |
| AGGREGATE | Beroperasi pada beberapa baris dan mengembalikan satu nilai |
| STRING | Pemrosesan dan transformasi string |
| DATE | Operasi tanggal dan waktu |
| ANALYTIC | Fungsi jendela yang menghitung hasil pada sekumpulan baris yang terkait dengan baris saat ini |
| OTHER | Fungsi yang tidak termasuk dalam kategori di atas |
Buat fungsi
Di halaman Resource Management, pada kotak dialog Create Resource or Function, atur Type, Path, dan Name fungsi.
Konfigurasikan fungsi:
Parameter Deskripsi Function Type Pilih jenis fungsi. Lihat Jenis fungsi. Class Name Kelas titik masuk untuk UDF, dalam format resource_name.class_name. Lihat Format Class Name.Type Pilih Resource Function atau Embedded Function. Resource Function mereferensikan file resource yang diunggah. Embedded Function mencakup kode inline — konfigurasikan Language ( JAVA,PYTHON2, atauPYTHON3) dan Code selain resource.Resource List Pilih 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 Syntax Contoh cara memanggil UDF. 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.UDAFExampleDapatkan 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_shSetelah fungsi dipublikasikan, panggil dengan nama terdaftarnya dalam SQL:
SELECT your_function_name(column_name) FROM table;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:
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.