全部产品
Search
文档中心

MaxCompute:Memulai

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menulis program MapReduce menggunakan MaxCompute Studio, menghasilkan file JAR, dan menjalankan pekerjaan MapReduce di klien MaxCompute. Contoh yang digunakan adalah pekerjaan MapReduce WordCount.

Prasyarat

  • Klien MaxCompute telah diinstal dan dikonfigurasi. Untuk informasi lebih lanjut, lihat Klien MaxCompute (odpscmd).

  • MaxCompute Studio telah diinstal dan terhubung ke Proyek MaxCompute yang ingin Anda gunakan. Untuk informasi lebih lanjut, lihat Instal MaxCompute Studio dan Kelola koneksi proyek.

  • File data sumber telah disiapkan dan disimpan di mesin lokal Anda.

    Dalam topik ini, file sampel data.txt dengan isi hello,odps digunakan. Anda dapat menyiapkan file serupa dan menyimpannya di direktori bin klien MaxCompute.

Peringatan

Untuk mengembangkan program MapReduce dengan Maven, cari odps-sdk-mapred, odps-sdk-commons, dan odps-sdk-core di Maven Central Repository untuk menemukan versi SDK for Java yang diperlukan. Dalam contoh ini, digunakan versi 0.36.4-public. Dependensi berikut harus dikonfigurasi dalam file pom.xml:

<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>

Prosedur

  1. Langkah 1: Kembangkan program MapReduce

    Tulis, jalankan, dan debug program MapReduce menggunakan MaxCompute Studio.

  2. Langkah 2: Hasilkan dan unggah file JAR MapReduce

    Kemas skrip WordCount.java yang telah dikompilasi menjadi file JAR dan unggah file tersebut ke Proyek MaxCompute.

  3. Langkah 3: Jalankan pekerjaan MapReduce

    Jalankan perintah JAR berdasarkan file JAR yang diunggah ke Proyek MaxCompute Anda untuk menjalankan pekerjaan MapReduce.

Langkah 1: Kembangkan program MapReduce

  1. Buat modul Java MaxCompute.

    1. Mulai IntelliJ IDEA. Di bilah navigasi atas, pilih File > New > Module.

    2. Di panel navigasi sisi kiri kotak dialog New Module, pilih MaxCompute Java.

    3. Konfigurasikan Module SDK dan klik Next.

    4. Masukkan nama modul, seperti mapreduce, di bidang Module name dan klik Finish.

  2. Tulis, jalankan, dan debug program MapReduce WordCount.

    1. Di dalam Project pane, perluas modul Java MaxCompute Anda dan pilih src > main > java. Kemudian, klik kanan pada java dan pilih New > MaxCompute Java.

    2. Di kotak dialog Create new MaxCompute java class, klik Driver, masukkan nama kelas Java MaxCompute yang ingin Anda buat di bidang Name, lalu tekan Enter. Sebagai contoh, Anda bisa memasukkan WordCount sebagai nama.

      新建Java class

    3. Di editor kode untuk WordCount.java, tulis program MapReduce WordCount untuk menghitung jumlah kata.

      Untuk kode sampel WordCount lengkap, lihat Kode Sampel.

    4. Di panel navigasi sisi kiri, klik kanan WordCount.java dan pilih Run.

    5. Di kotak dialog Run/Debug Configurations, atur MaxCompute project ke Proyek MaxCompute yang ingin Anda gunakan.

      配置项目信息

    6. Klik OK untuk menjalankan dan men-debug skrip WordCount.java untuk memastikan bahwa skrip dapat dieksekusi sesuai harapan.

Langkah 2: Hasilkan dan unggah file JAR MapReduce

  1. Di panel navigasi sisi kiri IntelliJ IDEA, klik kanan WordCount.java dan pilih Deploy to server.

  2. Dalam kotak dialog Package a jar and submit resource, atur parameter yang diperlukan dan klik OK untuk memaketkan serta mengunggah skrip.

    打包

    Untuk informasi tentang parameter, lihat Prosedur.

    Catatan

    Jika Anda menggunakan Maven untuk mengembangkan program MapReduce, setelah Anda mengemas skrip menjadi file JAR, Anda harus secara manual mengunggah file JAR ke Proyek MaxCompute Anda dari klien MaxCompute. Untuk informasi lebih lanjut, lihat Tambahkan sumber daya. Contoh perintah:

    add jar mapreduce-1.0-SNAPSHOT.jar;

Langkah 3: Jalankan pekerjaan MapReduce

  1. Masuk ke klien MaxCompute atau mulai klien MaxCompute di MaxCompute Studio.

    Klien MaxCompute terintegrasi di MaxCompute Studio. Anda dapat menjalankan klien MaxCompute di MaxCompute Studio. Untuk informasi lebih lanjut, lihat Integrasi klien MaxCompute.

  2. Buat tabel input dan output.

    Tabel input berisi data sumber pekerjaan MapReduce. Tabel output berisi hasil pemrosesan pekerjaan MapReduce. Contoh perintah:

    --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 informasi lebih lanjut tentang sintaks pembuatan tabel, lihat Buat tabel.

  3. Jalankan perintah Tunnel Upload untuk memasukkan data ke tabel wc_in.

    Contoh perintah:

    tunnel upload data.txt wc_in;

    Untuk informasi lebih lanjut tentang perintah Tunnel, lihat Perintah Tunnel.

  4. Jalankan perintah JAR untuk memanggil file JAR yang diunggah dan menjalankan pekerjaan MapReduce.

    Contoh perintah:

    jar -resources mapreduce-1.0-SNAPSHOT.jar -classpath mapreduce-1.0-SNAPSHOT.jar com.aliyun.odps.mapred.open.example.WordCount wc_in wc_out;
    • -resources mapreduce-1.0-SNAPSHOT.jar: Opsi -resources menentukan nama sumber daya yang dipanggil oleh pekerjaan MapReduce. Dalam contoh ini, sumber daya adalah file mapreduce-1.0-SNAPSHOT.jar yang diunggah di Langkah 2.

    • -classpath mapreduce-1.0-SNAPSHOT.jar: Opsi -classpath menentukan jalur file JAR yang berisi MainClass.

    • com.aliyun.odps.mapred.open.example.WordCount: MainClass yang didefinisikan dalam program MapReduce.

    • wc_in wc_out: tabel input dan output.

    Untuk informasi lebih lanjut tentang perintah JAR, lihat Sintaks.

  5. Jalankan perintah berikut untuk melihat data hasil yang ditulis ke tabel wc_out:

    select * from wc_out;

    Hasil berikut dikembalikan:

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