MapReduce

最終更新日: Nov 26, 2017

このセクションでは、MaxComputeコンソールが既にインストールされた後で、サンプルプログラムMapReduce WordCountをすばやく実行する方法を紹介します。Mavenを使用するユーザーは、Maven Library の “odps-sdk-mapred”を検索して、異なるバージョンのJava SDKを取得できます。設定は次のとおりです。

  1. <dependency>
  2. <groupid> com.aliyun.odps </groupid>
  3. <artifactid> odps-sdk-mapred </artifactid>
  4. <version> 0.20.7 </version>
  5. </dependency>

注意:

  • MapReduceをコンパイルして実行するには、JDK1.6が必要です。
  • ODPSコンソールを素早くインストールするには、クイックスタートを参照してください。ODPSクライアントの使用方法については、Consoleを参照してください。

次に、操作をステップごとに紹介します。

  1. 入力テーブルと出力テーブルを作成し、データをアップロードします。テーブルを作成するSQL文については、テーブルの作成を参照してください。

    1. CREATE TABLE wc_in (key STRING, value STRING);
    2. CREATE TABLE wc_out (key STRING, cnt BIGINT);
    3. -- Create input table and output table
  2. トンネルコマンドを使用してデータをアップロードします。

    1. tunnel u kv.txt wc_in
    2. -- Upload example data

    kv.txtのデータは次のようになります。

    1. 238,val_238
    2. 186,val_86
    3. 186,val_86

    次のように、SQL文で直接データを挿入することもできます。

    1. insert into table wc_in select '238',' val_238' from (select count(*) from wc_in) a;
  3. MapReduceプログラムを書き、コンパイルします。

    ODPSはユーザーに便利なEclipse開発プラグインを提供し、ユーザーがMapReduceプログラムを迅速に開発できるようにし、ローカルデバッグMapReduce機能を提供します。

    EclipseでMaxComputeプロジェクトを作成し、MapReduceプログラムを作成する必要があります。ロカールのデバッグがパスされた後、コンパイルされたプログラムをODPSにアップロードします。詳細は、MapReduce Eclipse Plug-inを参照してください。

  4. jarパッケージをプロジェクトに追加します。(たとえば、jarパッケージの名前は “word-count-1.0.jar”です)。

    1. add jar word-count-1.0.jar;
  5. MaxComputeコンソールでRun “-jar”コマンド:
    1. jar -resources word-count-1.0.jar -classpath /home/resources/word-count-1.0.jar
    2. com.taobao.jingfan.WordCount wc_in wc_out;
  6. ODPSコンソールの実行結果を確認します:
    1. select * from wc_out;

注意:

  • 他のリソースがjavaプログラムで使用されている場合は、必ず ‘-resources’パラメータを追加してください。jarコマンドの詳細については、Jarコマンドを参照してください。