All Products
Search
Document Center

DataWorks:Buat node ODPS MR

Last Updated:Mar 26, 2026

Gunakan node ODPS MR di DataWorks untuk menjadwalkan pekerjaan MaxCompute MapReduce dan mengintegrasikannya dengan node lain dalam pipa data Anda.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Penting

Unggah, lakukan commit, dan terapkan resource JAR sebelum menulis kode pada node ODPS MR.

Versi API MaxCompute MapReduce

MapReduce adalah kerangka kerja pemrograman untuk komputasi terdistribusi yang mengintegrasikan logika bisnis pengguna dengan komponen MapReduce bawaan guna menghasilkan program komputasi terdistribusi lengkap, sehingga pekerjaan dapat berjalan secara konkuren pada kluster Hadoop.

MaxCompute menyediakan dua versi API MapReduce:

Versi APIDeskripsi
MaxCompute MapReduceAPI MapReduce native. Berjalan cepat dan tidak mengekspos sistem file.
Extended MaxCompute MapReduce (MR2)Ekstensi dari MaxCompute MapReduce yang mendukung logika penjadwalan pekerjaan kompleks. Menggunakan implementasi yang sama dengan MaxCompute MapReduce.

Untuk perbandingan lengkap, lihat Ikhtisar.

Batasan

Untuk batasan yang berlaku pada task MaxCompute MapReduce, lihat Batasan.

Contoh WordCount

Contoh ini menghitung frekuensi kemunculan setiap string dalam tabel wc_in dan menuliskan hasilnya ke tabel wc_out.

Langkah 1: Unggah resource JAR

Unggah, lakukan commit, dan terapkan mapreduce-examples.jar sebagai resource MaxCompute. Lihat Buat dan gunakan resource MaxCompute.

Catatan

Untuk detail implementasi di dalam mapreduce-examples.jar, lihat Contoh WordCount.

Langkah 2: Tulis dan jalankan kode

Masukkan kode berikut pada node ODPS MR dan jalankan.

-- 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.
    drop table if exists dual;
    create table dual(id bigint); -- Jika tidak ada tabel dual di ruang kerja saat ini, buat tabel dual.
    --- Inisialisasi tabel dual.
    insert overwrite table dual select count(*)from dual;
    --- Masukkan data sampel ke tabel 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 diunggah. Untuk mereferensikan resource, temukan resource JAR di daftar resource, klik kanan resource JAR tersebut, lalu pilih Reference Resources.
--@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

Perintah jar menjalankan kelas WordCount dari mapreduce-examples.jar. Perintah ini membaca data dari wc_in dan menuliskan hasil ke wc_out.

ParameterDeskripsi
--@resource_reference{"mapreduce-examples.jar"}Ditambahkan secara otomatis ketika Anda mengklik kanan nama resource dan memilih Reference Resources.
-resources mapreduce-examples.jarNama resource JAR yang direferensikan.
-classpath ./mapreduce-examples.jarPath ke resource JAR. Format: ./ diikuti nama resource. Untuk mereferensikan beberapa JAR, pisahkan dengan koma: -classpath ./xxxx1.jar,./xxxx2.jar.
com.aliyun.odps.mapred.open.example.WordCountNama lengkap kelas utama yang akan dijalankan.
wc_inTabel input.
wc_outTabel output.

Saat pekerjaan selesai, hasil yang dikembalikan adalah OK.

Langkah 3: Verifikasi hasil

Kueri tabel output menggunakan node ODPS SQL untuk mengonfirmasi hasilnya:

select * from wc_out;

Output yang diharapkan:

+------------+------------+
| key        | cnt        |
+------------+------------+
| package    | 1          |
| pad        | 1          |
| problem    | 1          |
| project    | 1          |
| val_a      | 2          |
| val_pro    | 2          |
+------------+------------+

Setiap string unik dari wc_in muncul sebagai baris di wc_out, dengan cnt menunjukkan jumlah kemunculannya.

Contoh lainnya

Untuk kasus penggunaan MapReduce selain WordCount, lihat topik berikut:

Langkah selanjutnya

Setelah mengembangkan node, lengkapi langkah-langkah berikut sebelum masuk ke produksi:

  • Konfigurasikan properti penjadwalan: Atur pengaturan rerun dan dependensi penjadwalan agar sistem menjalankan task sesuai jadwal. Lihat Ikhtisar.

  • Debug node: Uji logika kode untuk memastikan menghasilkan output yang diharapkan. Lihat Prosedur debugging.

  • Terapkan node: Setelah semua pengembangan selesai, terapkan node tersebut. Sistem kemudian akan menjadwalkannya secara otomatis berdasarkan properti yang dikonfigurasi. Lihat Terapkan node.

Untuk isu umum, lihat FAQ tentang MaxCompute MapReduce.