全部产品
Search
文档中心

DataWorks:Node MaxCompute MR

更新时间:Feb 06, 2026

MaxCompute menyediakan antarmuka pemrograman MapReduce. Anda dapat membuat node MaxCompute MR untuk menjadwalkan dan menjalankan pekerjaan MapReduce yang ditulis dalam Java guna memproses dataset berskala besar.

Latar Belakang

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

  • MaxCompute MapReduce: Antarmuka native MaxCompute yang menawarkan eksekusi cepat, pengembangan efisien, dan tidak mengekspos sistem file.

  • Extended MaxCompute MapReduce (MR2): Ekstensi dari MaxCompute MapReduce yang mendukung penjadwalan pekerjaan lebih kompleks, dengan implementasi MapReduce yang konsisten terhadap antarmuka 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 mempublikasikan resource sebelum membuat node MaxCompute MR.

Batasan

Untuk batasan penggunaan node MaxCompute MR, lihat Limits.

Prosedur

  1. Di editor node MaxCompute MR, lakukan langkah-langkah berikut.

    Kembangkan kode MR

    Contoh ini menggunakan node MaxCompute MR untukmenghitung kemunculan setiap string di tabel wc_in dan menuliskan hasilnya ke tabel wc_out.

    1. Unggah, kirim, dan publikasikan resourcemapreduce-examples.jar. Untuk informasi selengkapnya, lihat Resource management.

      Catatan

      Untuk informasi selengkapnya mengenai logika internal paketmapreduce-examples.jar, lihat Contoh WordCount.

    2. Masukkan kode contoh berikut di editor.

      -- 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 tabel pseudo tidak ada di ruang kerja, Anda harus membuatnya dan menginisialisasi datanya.
          --- Inisialisasi data di 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 Anda unggah. Anda dapat menemukan resource ini di bagian Resource, klik kanan, lalu pilih Reference Resource.
      --@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

      Penjelasan kode:

      • --@resource_reference: Anda dapat mengklik kanan nama resource di bagian Resource dan memilih Reference Resource untuk menghasilkan pernyataan ini secara otomatis.

      • -resources: Nama file resource JAR yang direferensikan.

      • -classpath: Jalur ke paket JAR. Karena resource direferensikan, jalurnya selalu./ diikuti nama file JAR.

      • com.aliyun.odps.mapred.open.example.WordCount: Kelas Main di paket JAR yang dipanggil saat eksekusi. Nama ini harus persis sesuai dengan Kelas Main di paket JAR.

      • wc_in: Nama tabel input untuk pekerjaan MapReduce. Tabel ini dibuat pada kode sebelumnya.

      • wc_out: Nama tabel output untuk pekerjaan MapReduce. Tabel ini dibuat pada kode sebelumnya.

      • Jika pekerjaan MapReduce menggunakan beberapa resource JAR, format classpath-nya adalah-classpath ./xxxx1.jar,./xxxx2.jar, dengan jalur yang dipisahkan koma (,).

    Jalankan pekerjaan MR

    1. Di bagian Run Configuration di sebelah kanan, konfigurasikan Compute Engine Instance, Compute Quota, dan Resource Group.

      Catatan

      Untuk mengakses sumber data di Jaringan Publik atau di Virtual Private Cloud (VPC), Anda harus menggunakan kelompok sumber daya penjadwalan yang dapat terhubung ke sumber data tersebut. Untuk informasi selengkapnya, lihat Network connectivity solutions.

    2. Di bilah alat, klik Run. Pada kotak dialog Parameters yang muncul, pilih sumber data MaxCompute Anda dan jalankan pekerjaan tersebut.

    (Opsional) Lihat hasilnya

    Kueri data di tabel outputwc_out menggunakan node MaxCompute SQL.

    SELECT * FROM wc_out;

    Hasil berikut dikembalikan:

    +------------+------------+
    | key        | cnt        |
    +------------+------------+
    | package    | 1          |
    | pad        | 1          |
    | problem    | 1          |
    | project    | 1          |
    | val_a      | 2          |
    | val_pro    | 2          |
    +------------+------------+
  2. Jika node perlu dijalankan secara berkala, konfigurasikan properti penjadwalannya. Untuk informasi selengkapnya, lihat Node scheduling configuration.

  3. Setelah mengonfigurasi node, Anda harus menerapkannya. Untuk informasi selengkapnya, lihat Node and workflow deployment.

  4. Setelah task diterapkan, Anda dapat melihat statusnya di O&M Center. Untuk informasi selengkapnya, lihat Getting started with Operation Center.

Dokumentasi Terkait

Untuk informasi selengkapnya tentang pengembangan pekerjaan MaxCompute MR untuk berbagai kasus penggunaan, lihat:

Temukan solusi untuk masalah umum yang dapat terjadi saat menjalankan pekerjaan MR. Untuk informasi selengkapnya, lihat FAQ tentang MaxCompute MapReduce.