全部产品
Search
文档中心

MaxCompute:Kirim Pekerjaan MapReduce

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menjalankan perintah JAR pada klien MaxCompute untuk mengirim pekerjaan MapReduce.

Klien MaxCompute menyediakan perintah JAR untuk mengirim pekerjaan MapReduce. Contoh:

jar -conf \home\admin\myconf -resources a.txt,example.jar -classpath ..\lib\example.jar:.\other_lib.jar -D java.library.path=.\native;

Sintaksis

jar [<GENERIC_OPTIONS>] <MAIN_CLASS> [ARGS];
        -conf <configuration_file> 
        -resources <resource_name_list>    
        -classpath <local_file_list>       
        -D <name>=<value>                  
        -l                                 

Parameter

  • <GENERIC_OPTIONS> mencakup parameter opsional berikut:

    • -conf <file konfigurasi>: menentukan file konfigurasi JobConf. File ini berisi pengaturan JobConf di SDK.

      Berikut adalah contoh template file JobConf:

      <configuration>
         <property>
            <name>import.filename</name>
            <value>resource.txt</value>
         </property>
      </configuration>          

      Dalam contoh ini, variabel bernama import.filename dengan nilai resource.txt ditentukan dalam file konfigurasi JobConf.

      Anda dapat memanggil antarmuka JobConf di MapReduce untuk mendapatkan nilai variabel ini. Anda juga dapat memanggil antarmuka JobConf di SDK untuk mendapatkan nilai variabel tersebut. Untuk informasi lebih lanjut, lihat Contoh Sumber Daya.

      Contoh:

      -- Tambahkan jar ke lingkungan proyek MaxCompute dan kirim pekerjaan jar.
      add jar data\mapreduce-examples.jar;
      jar -resources mapreduce-examples.jar -classpath data\mapreduce-examples.jar
          org.alidata.odps.mr.examples.WordCount wc_in wc_out;
          
      -- Tambahkan file dan jar ke lingkungan proyek MaxCompute dan kirim pekerjaan jar.  
      add file data\src.txt;
      add jar data\mapreduce-examples.jar;
      jar -resources src.txt,mapreduce-examples.jar -classpath data\mapreduce-examples.jar
          org.alidata.odps.mr.examples.WordCount wc_in wc_out;
       
      -- Buat tabel baru test_table berdasarkan struktur tabel wc_in, tambahkan file, test_table dan jar ke lingkungan proyek MaxCompute, lalu kirim pekerjaan jar.  
      add file data\a.txt;
      add table wc_in as test_table;
      add jar data\work.jar;
      jar -conf odps-mapred.xml -resources a.txt,test_table,work.jar
          -classpath data\work.jar:otherlib.jar
          -D import.filename=resource.txt org.alidata.odps.mr.examples.WordCount args;
    • -resources <resource_name_list>: menentukan sumber daya yang digunakan untuk menjalankan pekerjaan MapReduce. Dalam banyak kasus, Anda harus menentukan nama sumber daya yang digunakan oleh fungsi map atau reduce dalam resource_name_list.

      Catatan
      • Jika fungsi map atau reduce membaca sumber daya MaxCompute lainnya, Anda juga harus menambahkan nama sumber daya tersebut ke resource_name_list.

      • Sumber daya ganda harus dipisahkan dengan koma (,). Jika Anda menggunakan sumber daya lintas-proyek, tambahkan PROJECT/resources/ sebelum resource_name_list. Contoh: -resources otherproject/resources/resfile.

      • Untuk informasi lebih lanjut tentang cara menggunakan fungsi map atau reduce untuk membaca sumber daya, lihat Contoh Sumber Daya.

    • -classpath <local_file_list>: menentukan classpath yang digunakan untuk menjalankan pekerjaan MapReduce dalam mode lokal. Parameter ini menentukan jalur lokal. Jalur tersebut mencakup jalur relatif dan absolut dari paket JAR tempat fungsi utama berada.

      Nama paket dipisahkan oleh pemisah file default. Dalam banyak kasus, sistem operasi Windows menggunakan titik koma (;) sebagai pemisah file default, sedangkan Linux menggunakan koma (,). Jika Anda menjalankan pekerjaan MapReduce pada server cloud, pisahkan nama paket dengan koma (,).

      Catatan

      Anda mungkin lebih suka mengompilasi fungsi utama dalam paket yang sama dengan fungsi map atau reduce. Untuk informasi lebih lanjut, lihat Contoh WordCount. Dalam hal ini, ketika Anda menjalankan program sampel, mapreduce-examples.jar termasuk dalam opsi -resources dan -classpath. Namun, opsi -resources merujuk pada fungsi map atau reduce untuk eksekusi terdistribusi. Opsi -classpath merujuk pada fungsi utama untuk eksekusi lokal. Paket JAR yang ditentukan juga harus disimpan di direktori lokal.

    • -D <prop_name>=<prop_value>: menentukan properti Java dari <mainClass> untuk eksekusi lokal. Anda dapat menentukan beberapa properti.

    • -l: menentukan bahwa pekerjaan MapReduce dijalankan dalam mode lokal. Opsi ini digunakan untuk debugging program.

  • <MAIN_CLASS>: Kelas utama. Misalnya, com.example.Main.

  • [ARGS]: Parameter program (opsional). Parameter ini diteruskan ke metode utama dari kelas Main.