MaxCompute コンソールには、MapReduce ジョブを実行するための JAR コマンドがあります。 詳細な構文は次のとおりです。
使用方法: 
jar [<GENERIC_OPTIONS>] <MAIN_CLASS> [ARGS];
        -conf <configuration_file> アプリケーション設定ファイルを指定します
        -resources <resource_name_list> mapper や reducer で使用されるファイル\テーブルリソース。カンマで区切ります。
        -classpath <local_file_list> mainClass の実行に使用される classpath
        -D <name>=<value> プロパティ値のペア。mainClass の実行に使用されます
        -l ローカルモードでジョブを実行します
例:
    jar -conf /home/admin/myconf -resources a.txt,example.jar -classpath ../lib/example.jar:./other_lib.jar -Djava.library.path=./native -Xmx512M mycompany.WordCount -m 10 -r 10 in out;
<GENERIC_OPTIONS> には、次のパラメーターが含まれます (オプションパラメーター)。
  • -conf <configuration file>: JobConf 設定ファイルを指定します。
  • -resources <resource_name_list>: MapReduce 実行時に使用されるリソース文を示します。 通常、Map/Reduce 関数が含まれるリソース名は、'resource_name_list' で指定する必要があります。

    ユーザーが Map/Reduce 関数で他の MaxCompute リソースを読み取った場合は、それらのリソース名も 'resource_name_list' に追加する必要があります。

    複数のリソースはカンマ (,) で区切ります。 スパンプロジェクトリソースを使用する必要がある場合は、接頭辞 PROJECT/resources/、たとえば -resources otherproject/resources/resfile を追加します。

    Map/Reduce 関数でリソースを読み取る方法については、「リソースの使用例」をご参照ください。

  • -classpath <local_file_list>: ‘main’ クラスのローカル JAR パッケージを指定するために使用されるクラスパス (相対パスと絶対パスを含みます)。

    パッケージ名は、システムのデフォルトのファイル区切り文字を使用して区切られます。 通常、区切り文字は Windows システムではセミコロン (;)、Linux システムではカンマ (,) です。

    ほとんどの場合、WordCount コード例など、main クラスと Map/Reduce 関数をパッケージに記述します。 つまり、プログラム例の実行期間中、mapreduce-examples.jar が '-resources' パラメーターと '-classpath' パラメーターに表示されますが、'-resources' は Map/Reduce 関数を参照し、分散環境で動作します。また '-classpath' は 'main' クラスを参照し、ローカルで動作します。 JAR パッケージの指定されたパスもローカルパスです。
  • -D <prop_name>=<prop_value>: ローカルモードの <mainClass> の複数の Java プロパティを定義します。
  • -l: MapReduce ジョブをローカルモードで実行します。主にプログラムのデバッグに使用されます。

オプション '-conf' で設定ファイル 'JobConf' を指定します。 このファイルは SDK の JobConf 設定を変更します。

設定ファイル ‘JobConf’ の例は次のとおりです。
<configuration>
       <property>
          <name>import.filename</name>
          <value>resource.txt</value>
       </property>
    </configuration>

上記の例では、変数 ‘import.filename’ が定義され、値は ‘resource.txt’ です。

ユーザーは MapReduce プログラムの JobConf インターフェイスを介してこの変数値を取得します。 または、SDK の JobConf インターフェイスを介して値を取得することも可能です。 詳細な例については、 「リソースの使用例」をご参照ください。

例:
add jar data\mapreduce-examples.jar;
    jar -resources mapreduce-examples.jar -classpath mapreduce-examples.jar
        org.alidata.odps.mr.examples.WordCount wc_in wc_out;
    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;
    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;