MaxCompute Java モジュールの作成を作成した後、MRを開発します。

MR プログラムの開発

  1. モジュールのソースコードディレクトリ [src] > [main] を右クリックし、[New] > [java] の順に選択し、[MaxCompute Java] をクリックします。

  2. Driver、Mapper、および Reducer を作成します。

  3. 入出力テーブルとMapper および Reducer クラスを設定します。 フレームワークコードはテンプレートに自動的に入力されます。

MR の開発の詳細については、「MapReduce の作成」をご参照ください。

MR プログラムのデバッグ

MR プログラムを開発した後、コードをテストし、想定どおりかどうか確認します。 次の 2 つの方法 をサポートしています。

単体テスト (UT): examples ディレクトリに WordCount UT の例があります。 それらを参照し、 UT をコンパイルします。

ローカル MR 実行: ローカル実行中は、実行中のデータソースを指定する必要があります。 テストデータソースを設定するには、次の 2 つの方法があります。

  • MaxCompute Studio は、トンネルサービスを使用して、特定の MaxCompute プロジェクトのテーブルデータを "warehouse" ディレクトリに自動的にダウンロードします。 デフォルトでは、100 個のデータレコードがダウンロードされます。 テストにデータがさらに必要な場合は、コンソールのトンネルコマンドまたは MaxCompute Studioの テーブルダウンロード機能を使用します。

  • モックプロジェクト (example_project) とテーブルデータを提供します。 "warehouse" 内の "example_project" を参照して、自身でそれを設定します。

  1. MR プログラムを実行します。 [ドライバークラス] を右クリックして、[実行] をクリックします。 表示された [設定の実行] ダイアログボックスで、MR プログラムが実行されている MaxCompute プロジェクトを設定します。

  2. [OK] をクリックします。 指定した MaxCompute プロジェクトのテーブルデータが "warehouse" にダウンロードされていない場合は、まずデータをダウンロードします。 モックプロジェクトを使用している、または MaxCompute プロジェクトのテーブルデータをダウンロードしている場合は、この手順をスキップします。 次に、MR ローカル 実行フレームワークで、"warehouse" 内の指定されたテーブルデータが MR 入力として読み取られ、MR プログラムをローカルに実行します。 ログ出力と結果表示がコンソールに表示されます。

本番環境での MR プログラムの実行

ローカルデバッグが完了した後、MR プログラムをサーバーにリリースして MaxCompute 分散環境で実行します。

  1. MR プログラムを JAR パッケージにパッケージ化して、サーバーにリリースします。 詳細は、「MR のパッケージ化とリリースの方法」をご参照ください。

  2. MaxCompute Studio と統合された MaxCompute コンソールをシームレスモードで使用します。つまり、[プロジェクトエクスプローラー] ウィンドウで、[プロジェクト] を右クリックして [コンソールで開く] をクリックし、コンソールのコマンドラインで次の JAR コマンドと似たコマンドを入力します。

    jar -libjars wordcount.jar -classpath D:\odps\clt\wordcount.jar com.aliyun.odps.examples.mr.WordCount wc_in wc_out;