All Products
Search
Document Center

MaxCompute:Dokumen

Last Updated:Mar 26, 2026

Jalankan pekerjaan WordCount MapReduce

Tulis program MapReduce di MaxCompute Studio, kemas sebagai file JAR, lalu jalankan di client MaxCompute. Topik ini memandu Anda melalui contoh WordCount yang menghitung kemunculan kata dalam file teks.

Cara kerja

MaxCompute MapReduce memproses data melalui tiga tahap:

(input) <key, value> → map → <key, value> → combine → <key, value> → reduce → <key, value> (output)

Pada contoh WordCount: tahap map memisahkan setiap baris menjadi kata-kata dan menghasilkan pasangan <word, 1>; tahap reduce menjumlahkan hitungan per kata dan menuliskan hasilnya ke tabel output.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Menginstal dan mengonfigurasi client MaxCompute (odpscmd). Untuk detailnya, lihat MaxCompute client (odpscmd).

  • Menginstal MaxCompute Studio dan menghubungkannya ke Proyek MaxCompute Anda. Untuk detailnya, lihat Install MaxCompute Studio dan Manage project connections.

  • Menyimpan file data sumber ke mesin lokal Anda. Topik ini menggunakan file bernama data.txt dengan isi hello,odps. Simpan file tersebut ke direktori bin client MaxCompute.

Dependensi SDK Maven

Untuk mengembangkan program MapReduce dengan Maven, cari odps-sdk-mapred, odps-sdk-commons, dan odps-sdk-core di Maven Central Repository untuk menemukan SDK yang sesuai dengan versi Java Anda. Contoh ini menggunakan versi 0.36.4-public. Tambahkan dependensi berikut ke file pom.xml Anda:

<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-sdk-mapred</artifactId>
    <version>0.36.4-public</version>
</dependency>
<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-sdk-commons</artifactId>
    <version>0.36.4-public</version>
</dependency>
<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-sdk-core</artifactId>
    <version>0.36.4-public</version>
</dependency>

Langkah 1: Kembangkan program MapReduce

  1. Buat modul Java MaxCompute di IntelliJ IDEA.

    1. Pada bilah navigasi atas, pilih File > New > Module.

    2. Pada kotak dialog New Module, pilih MaxCompute Java di panel navigasi sebelah kiri.

    3. Konfigurasikan Module SDK, lalu klik Next.

    4. Masukkan nama modul di bidang Module name — misalnya, mapreduce — lalu klik Finish.

  2. Buat dan tulis program MapReduce WordCount.

    1. Pada panel Project, perluas modul Java MaxCompute Anda dan arahkan ke src > main > java. Klik kanan java, lalu pilih New > MaxCompute Java.

    2. Pada kotak dialog Create new MaxCompute java class, klik Driver, masukkan nama kelas di bidang Name — misalnya, WordCount — lalu tekan Enter. 新建Java class

    3. Pada editor kode untuk WordCount.java, tulis logika MapReduce WordCount untuk menghitung kemunculan kata. Untuk kode contoh lengkap, lihat Sample code.

  3. Jalankan dan debug program.

    1. Pada panel Project, klik kanan WordCount.java, lalu pilih Run.

    2. Pada kotak dialog Run/Debug Configurations, atur MaxCompute project ke proyek target Anda. 配置项目信息

    3. Klik OK untuk menjalankan dan mendebug skrip serta memverifikasi eksekusinya sesuai harapan.

Langkah 2: Hasilkan dan unggah file JAR MapReduce

  1. Pada panel Project, klik kanan WordCount.java, lalu pilih Deploy to server.

  2. Pada kotak dialog Package a jar and submit resource, konfigurasikan parameter, lalu klik OK untuk mengemas dan mengunggah skrip. Untuk detail parameter, lihat Procedure.

    Catatan

    Jika Anda mengembangkan program MapReduce dengan Maven, unggah secara manual file JAR dari client MaxCompute setelah pengemasan. Untuk detailnya, lihat Add resources. Contoh perintah:

    add jar mapreduce-1.0-SNAPSHOT.jar;

    打包

Langkah 3: Jalankan pekerjaan MapReduce

  1. Masuk ke client MaxCompute, atau mulai dari dalam MaxCompute Studio. Untuk detail tentang client terintegrasi, lihat Integrate the MaxCompute client.

  2. Buat tabel input dan output. Tabel input menyimpan data sumber; tabel output menerima hasil pemrosesan.

    -- Buat tabel input bernama wc_in.
    create table wc_in (key STRING, value STRING);
    -- Buat tabel output bernama wc_out.
    create table wc_out (key STRING, cnt BIGINT);

    Untuk sintaks pembuatan tabel, lihat Create a table.

  3. Unggah file data sumber ke wc_in. Pastikan isi file sebelum mengunggah. File data.txt yang digunakan dalam contoh ini berisi:

    hello,odps

    Jalankan perintah Tunnel Upload:

    tunnel upload data.txt wc_in;

    Untuk referensi perintah Tunnel, lihat Tunnel commands.

  4. Jalankan perintah JAR untuk mengeksekusi pekerjaan MapReduce.

    ParameterDeskripsi
    -resources mapreduce-1.0-SNAPSHOT.jarResource yang dipanggil oleh pekerjaan MapReduce — file JAR yang diunggah pada Langkah 2
    -classpath mapreduce-1.0-SNAPSHOT.jarPath file JAR yang berisi MainClass
    com.aliyun.odps.mapred.open.example.WordCountMainClass yang didefinisikan dalam program MapReduce
    wc_in wc_outTabel input dan tabel output
    jar -resources mapreduce-1.0-SNAPSHOT.jar -classpath mapreduce-1.0-SNAPSHOT.jar com.aliyun.odps.mapred.open.example.WordCount wc_in wc_out;

    Untuk sintaks perintah JAR, lihat Syntax.

  5. Verifikasi hasilnya. Jalankan perintah berikut untuk mengkueri tabel output:

    select * from wc_out;

    Output yang diharapkan:

    +------------+------------+
    | key        | cnt        |
    +------------+------------+
    | hello      | 1          |
    | odps       | 1          |
    +------------+------------+

Langkah selanjutnya