All Products
Search
Document Center

DataWorks:Node MaxCompute MR

Last Updated:Apr 25, 2026

MaxCompute menyediakan antarmuka pemrograman MapReduce. Anda dapat membuat dan menjadwalkan node MaxCompute MR, lalu menggunakan MapReduce Java API untuk menulis program MapReduce yang memproses dataset berskala besar di MaxCompute.

Latar Belakang

MapReduce adalah kerangka kerja komputasi terdistribusi yang menggabungkan kode logika bisnis yang ditulis pengguna dengan komponen bawaan untuk membentuk program terdistribusi lengkap yang berjalan secara konkuren pada kluster Hadoop. MaxCompute menyediakan dua versi antarmuka pemrograman MapReduce. Untuk informasi selengkapnya, lihat MapReduce.

  • MaxCompute MapReduce: API native untuk MaxCompute yang memungkinkan eksekusi cepat dan pengembangan efisien tanpa mengekspos sistem file.

  • Extended MaxCompute MapReduce (MR2): Ekstensi dari MaxCompute MapReduce yang mendukung logika penjadwalan pekerjaan lebih kompleks dengan implementasi yang sama seperti API native MaxCompute.

Di DataWorks, Anda dapat menggunakan node MaxCompute MR untuk menjadwalkan dan menjalankan task MaxCompute MapReduce serta mengintegrasikannya dengan pekerjaan lain.

Prasyarat

Catatan

Anda harus mengunggah dan mendeplai resource yang diperlukan sebelum membuat node MaxCompute MR.

Batasan

Untuk informasi mengenai batasan pada node MaxCompute MR, lihat Batasan.

Prosedur

  1. Pada halaman editor node MaxCompute MR, ikuti langkah-langkah pengembangan berikut.

    Kembangkan kode MR

    Contoh berikut menunjukkan cara menggunakan node MaxCompute MR untuk menghitung kemunculan setiap string dalam tabel wc_in dan menulis hasilnya ke tabel wc_out.

    1. Unggah, kirim, dan deploy resource mapreduce-examples.jar. Untuk informasi selengkapnya, lihat manajemen sumber daya.

      Catatan

      Untuk informasi mengenai logika implementasi dalam paket mapreduce-examples.jar, lihat Contoh WordCount.

    2. Di editor node MaxCompute MR, masukkan kode contoh berikut.

      --Buat tabel input.
      CREATE TABLE IF NOT EXISTS wc_in (key STRING, VALUE STRING);
      --Buat tabel output.
      CREATE TABLE IF NOT EXISTS wc_out (key STRING, cnt BIGINT);
          ---Buat tabel dual sistem.
          DROP TABLE IF EXISTS dual;
          CREATE TABLE dual(id BIGINT); --Jika ruang kerja tidak memiliki tabel pseudo ini, Anda perlu membuatnya dan menginisialisasi datanya.
          ---Inisialisasi data untuk tabel pseudo sistem.
          INSERT OVERWRITE TABLE dual SELECT count(*) FROM dual;
          ---Masukkan data sampel ke tabel input wc_in.
          INSERT OVERWRITE TABLE wc_in SELECT * FROM (
          SELECT 'project','val_pro' FROM dual 
          UNION ALL 
          SELECT 'problem','val_pro' FROM dual
          UNION ALL 
          SELECT 'package','val_a' FROM dual
          UNION ALL 
          SELECT 'pad','val_a' FROM dual
            ) b;
      -- Referensikan resource JAR yang baru saja diunggah. Anda dapat menemukan resource tersebut di panel manajemen sumber daya, klik kanan untuk mereferensikannya.
      --@resource_reference{"mapreduce-examples.jar"}
      jar -resources mapreduce-examples.jar -classpath ./mapreduce-examples.jar com.aliyun.odps.mapred.open.example.WordCount wc_in wc_out
      Catatan

      Kode tersebut dijelaskan sebagai berikut:

      • --@resource_reference: Anda dapat mengklik kanan nama resource di bagian manajemen sumber daya dan memilih Insert Resource Path untuk menghasilkan pernyataan ini secara otomatis.

      • -resources: Nama file resource JAR yang direferensikan.

      • -classpath: Jalur paket JAR. Karena resource telah direferensikan, jalurnya secara seragam diatur ke paket JAR di bawah ./.

      • com.aliyun.odps.mapred.open.example.WordCount: Kelas utama yang dipanggil saat eksekusi. Nilai ini harus sama dengan nama kelas utama dalam paket JAR.

      • wc_in: Nama tabel input MR, yang telah dibuat dalam kode sebelumnya.

      • wc_out: Nama tabel output MR, yang telah dibuat dalam kode sebelumnya.

      • Saat task MR memanggil beberapa resource JAR, classpath ditentukan dalam format berikut: -classpath ./xxxx1.jar,./xxxx2.jar. Jalur-jalur tersebut dipisahkan dengan koma (,).

    Jalankan task MR

    1. Di Run Configuration, konfigurasikan Compute Resource, Compute Quota, dan Resource Group.

      Catatan

      Untuk mengakses sumber data di lingkungan jaringan publik atau jaringan VPC, Anda harus menggunakan kelompok sumber daya untuk penjadwalan yang telah lulus uji konektivitas dengan sumber data tersebut. Untuk informasi selengkapnya, lihat Konektivitas jaringan.

    2. Di dialog parameter pada bilah alat, pilih sumber data MaxCompute yang telah Anda buat, lalu klik Run untuk menjalankan task MR.

    (Opsional) Kueri hasilnya

    Kueri data di tabel output wc_out dengan menggunakan node MaxCompute SQL.

    SELECT * FROM wc_out;

    Hasil:

    +------------+------------+
    | key        | cnt        |
    +------------+------------+
    | package    | 1          |
    | pad        | 1          |
    | problem    | 1          |
    | project    | 1          |
    | val_a      | 2          |
    | val_pro    | 2          |
    +------------+------------+
  2. Untuk menjalankan task node secara berkala, konfigurasikan pengaturan jadwal sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Pengaturan jadwal.

  3. Setelah task node dikonfigurasi, Anda harus mendeplai node tersebut. Untuk informasi selengkapnya, lihat Deploy a node.

  4. Setelah task dideplai, Anda dapat melihat status berjalan task terjadwal di Operation Center. Untuk informasi selengkapnya, lihat Tugas terjadwal.

Referensi

Untuk skenario pengembangan task ODPS MR lainnya, lihat topik-topik berikut:

FAQ: Anda dapat mempelajari isu umum yang mungkin terjadi selama eksekusi task MR dan melakukan troubleshooting dengan cepat. Untuk informasi selengkapnya, lihat FAQ.