Daftarkan user-defined function (UDF) Java kustom di DataWorks DataStudio untuk memperluas kemampuan SQL kluster E-MapReduce (EMR). Setelah terdaftar, Anda dapat memanggil fungsi tersebut berdasarkan namanya dalam pernyataan SQL EMR.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki kluster Alibaba Cloud EMR dengan aturan inbound berikut yang ditambahkan ke security group-nya:
Field Value Action Allow Protocol type Custom TCP Port range 8898/8898 Authorization object 100.104.0.0/16 Aturan security group ini memungkinkan DataWorks terhubung ke kluster EMR Anda. Hubungi administrator kluster jika Anda tidak memiliki izin untuk mengubah aturan security group.
Memiliki instans compute engine EMR yang dikaitkan dengan ruang kerja Anda. Folder EMR hanya akan muncul di DataStudio setelah Anda menyelesaikan pengaitan ini pada halaman Workspace Management. Untuk informasi selengkapnya, lihat Buat dan kelola ruang kerja.
Mengunggah sumber daya JAR yang diperlukan ke DataWorks. Untuk informasi selengkapnya, lihat Buat dan gunakan resource EMR.
Buat fungsi
Langkah 1: Buka DataStudio
Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Data Development and Governance > Data Development. Pilih ruang kerja Anda dari daftar drop-down, lalu klik Go to Data Development.
Langkah 2: Buat alur kerja
Buat alur kerja auto triggered untuk mengorganisasi node fungsi Anda. Untuk informasi selengkapnya, lihat Buat alur kerja auto triggered.
Langkah 3: Siapkan paket JAR Anda
Tulis logika UDF Anda dalam Java, kemas sebagai file JAR, lalu unggah sebagai resource JAR ke DataWorks.
Berikut adalah contoh minimal UDF Java yang mengonversi string menjadi huruf kecil:
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class ToLowerUDF extends UDF {
public Text evaluate(Text input) {
if (input == null) return null;
return new Text(input.toString().toLowerCase());
}
}Kemas kelas tersebut sebagai file JAR menggunakan Maven:
mvn clean package -DskipTestsKemudian unggah file JAR yang dihasilkan sebagai resource JAR ke DataWorks. Untuk informasi selengkapnya, lihat Buat dan gunakan resource EMR.
Langkah 4: Buat node fungsi
Pada bagian Business Flow, klik alur kerja Anda untuk memperluasnya. Klik kanan EMR dan pilih Create Solution.
Pada kotak dialog Create Function, atur Name, Engine Instance, dan Path, lalu klik Create.
Pada bagian Function information di tab konfigurasi, atur parameter berikut.
Parameter Description Function Type Kategori fungsi. Nilai yang valid: Mathematical Operation Functions, Aggregate Functions, String Processing Functions, Date Functions, Window Functions, dan Other Functions. Pilih berdasarkan jenis komputasi yang dilakukan UDF Anda: misalnya, pilih String Processing Functions untuk logika transformasi teks. Engine Instance Kluster EMR yang dikaitkan dengan ruang kerja Anda. Secara default, Anda tidak dapat mengubah instans engine. Engine Type Jenis compute engine. Secara default, Anda tidak dapat mengubah tipe engine. EMR database Database di kluster EMR tempat fungsi didaftarkan. Pilih salah satu dari daftar drop-down. Untuk membuat database, klik New Library, isi bidang yang diperlukan, lalu klik OK. Function Name Nama yang digunakan untuk memanggil fungsi dalam pernyataan SQL. Harus unik secara global dan tidak dapat diubah setelah pembuatan. Contoh: to_lower.Owner Diatur secara otomatis. Class Name Wajib diisi. Nama kelas yang mengimplementasikan fungsi. Resource Wajib diisi. Resource JAR yang berisi kelas UDF Anda. Pilih resource dari ruang kerja saat ini, atau klik Create Resource untuk mengunggah yang baru. Description Deskripsi fungsi. Contoh: Mengonversi string menjadi huruf kecil.Expression Syntax Sintaks pemanggilan fungsi. Contoh: to_lower(col_name).Parameter Description Deskripsi parameter input dan output. Contoh: input: STRING col_name, output: STRING.Return Value Opsional. Nilai kembali. Contoh: 1.Example (Opsional) Contoh pernyataan SQL yang menunjukkan cara memanggil fungsi. Contoh: SELECT to_lower(name) FROM my_table LIMIT 10;
Langkah 5: Simpan fungsi
Klik ikon
di bilah alat atas untuk menyimpan konfigurasi Anda.
Langkah 6: Commit fungsi
Klik ikon
di bilah alat atas.Anda harus memilih kelompok sumber daya untuk penjadwalan saat melakukan commit fungsi EMR. Kami menyarankan Anda menggunakan grup sumber daya eksklusif untuk penjadwalan. Jika tidak tersedia grup sumber daya eksklusif, Anda dapat membeli dan mengonfigurasinya. Untuk informasi selengkapnya, lihat Buat dan gunakan grup sumber daya eksklusif untuk penjadwalan.
Pada kotak dialog Commit Node, masukkan komentar Anda di bidang Change description.
Klik OK.
Langkah 7: Commit UDF
Klik ikon
di bilah alat atas.Pada kotak dialog Commit Node, masukkan komentar Anda di bidang Change description.
Klik OK.