本文將為您介紹安裝好MaxCompute用戶端後,如何快速運行MapReduce WordCount樣本程式。

说明 如果您使用Maven,可以從 Maven 庫中搜尋odps-sdk-mapred擷取不同版本的Java SDK。相關配置資訊如下所示:
<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-sdk-mapred</artifactId>
    <version>0.26.2-public</version>
</dependency>

前提條件

  • 編譯、運行MapReduce時,需要首先安裝JDK1.6或以上版本。
  • 請參見安裝並配置用戶端對MaxCompute用戶端進行部署。更多關於MaxCompute用戶端的使用,請參見MaxCompute用戶端

操作步驟

  1. 安裝並配置好用戶端後,開啟odpscmd.bat,進入相應項目空間中。
  2. 輸入建表語句,建立輸入和輸出表。如下所示:
    CREATE TABLE wc_in (key STRING, value STRING);
    CREATE TABLE wc_out (key STRING, cnt BIGINT);
    -- 建立輸入、輸出表

    更多建立表的語句請參見建立表

  3. 上傳資料。
    您可以通過以下兩種方式上傳資料。
    • 使用Tunnel命令上傳資料。
      tunnel upload kv.txt wc_in
      -- 上傳樣本資料
      kv.txt檔案中的資料如下所示:
      238,val_238
      186,val_86
      186,val_86
    • 您也可以通過SQL語句直接插入資料,樣本如下:
      insert into table wc_in select '238',' val_238' from (select count(*) from wc_in) a;
  4. 編寫MapReduce程式並編譯。

    MaxCompute為您提供了便捷的Eclipse開發外掛程式,方便您快速開發MapReduce程式,並提供了本地調試MapReduce的功能。

    您需要先在Eclipse中建立一個項目工程,而後在此工程中編寫MapReduce程式。本地調試通過後,將編譯好的程式(Jar 包,如Word-count-1.0.jar)匯出並上傳至MaxCompute。詳情請參見MapReduce開發外掛程式介紹

  5. 添加Jar包到project資源(比如這裡的Jar包名為word-count-1.0.jar)。
    add jar word-count-1.0.jar;
  6. 在MaxCompute用戶端運行Jar命令。
    jar -resources word-count-1.0.jar -classpath /home/resources/word-count-1.0.jar com.taobao.jingfan.WordCount wc_in wc_out;
  7. 在MaxCompute用戶端查看結果。
    select * from wc_out;
    说明 如果您在 Java 程式中使用了任何資源,請務必將此資源加入 -resources參數。Jar命令的詳細介紹請參見作業提交