All Products
Search
Document Center

DataWorks:Buat fungsi EMR

Last Updated:Mar 26, 2026

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:

    FieldValue
    ActionAllow
    Protocol typeCustom TCP
    Port range8898/8898
    Authorization object100.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 -DskipTests

Kemudian unggah file JAR yang dihasilkan sebagai resource JAR ke DataWorks. Untuk informasi selengkapnya, lihat Buat dan gunakan resource EMR.

Langkah 4: Buat node fungsi

  1. Pada bagian Business Flow, klik alur kerja Anda untuk memperluasnya. Klik kanan EMR dan pilih Create Solution.

  2. Pada kotak dialog Create Function, atur Name, Engine Instance, dan Path, lalu klik Create.

  3. Pada bagian Function information di tab konfigurasi, atur parameter berikut.

    ParameterDescription
    Function TypeKategori 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 InstanceKluster EMR yang dikaitkan dengan ruang kerja Anda. Secara default, Anda tidak dapat mengubah instans engine.
    Engine TypeJenis compute engine. Secara default, Anda tidak dapat mengubah tipe engine.
    EMR databaseDatabase 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 NameNama yang digunakan untuk memanggil fungsi dalam pernyataan SQL. Harus unik secara global dan tidak dapat diubah setelah pembuatan. Contoh: to_lower.
    OwnerDiatur secara otomatis.
    Class NameWajib diisi. Nama kelas yang mengimplementasikan fungsi.
    ResourceWajib diisi. Resource JAR yang berisi kelas UDF Anda. Pilih resource dari ruang kerja saat ini, atau klik Create Resource untuk mengunggah yang baru.
    DescriptionDeskripsi fungsi. Contoh: Mengonversi string menjadi huruf kecil.
    Expression SyntaxSintaks pemanggilan fungsi. Contoh: to_lower(col_name).
    Parameter DescriptionDeskripsi parameter input dan output. Contoh: input: STRING col_name, output: STRING.
    Return ValueOpsional. Nilai kembali. Contoh: 1.
    Example(Opsional) Contoh pernyataan SQL yang menunjukkan cara memanggil fungsi. Contoh: SELECT to_lower(name) FROM my_table LIMIT 10;

    Function information section

Langkah 5: Simpan fungsi

Klik ikon Save di bilah alat atas untuk menyimpan konfigurasi Anda.

Langkah 6: Commit fungsi

  1. Klik ikon Commit 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.
  2. Pada kotak dialog Commit Node, masukkan komentar Anda di bidang Change description.

  3. Klik OK.

Langkah 7: Commit UDF

  1. Klik ikon Commit di bilah alat atas.

  2. Pada kotak dialog Commit Node, masukkan komentar Anda di bidang Change description.

  3. Klik OK.