本文將為您介紹安裝好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用戶端。
操作步驟
- 安裝並配置好用戶端後,開啟odpscmd.bat,進入相應項目空間中。
- 輸入建表語句,建立輸入和輸出表。如下所示:
CREATE TABLE wc_in (key STRING, value STRING); CREATE TABLE wc_out (key STRING, cnt BIGINT); -- 建立輸入、輸出表
更多建立表的語句請參見建立表。
- 上傳資料。
您可以通過以下兩種方式上傳資料。
- 使用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;
- 使用Tunnel命令上傳資料。
- 編寫MapReduce程式並編譯。
MaxCompute為您提供了便捷的Eclipse開發外掛程式,方便您快速開發MapReduce程式,並提供了本地調試MapReduce的功能。
您需要先在Eclipse中建立一個項目工程,而後在此工程中編寫MapReduce程式。本地調試通過後,將編譯好的程式(Jar 包,如Word-count-1.0.jar)匯出並上傳至MaxCompute。詳情請參見MapReduce開發外掛程式介紹。
- 添加Jar包到project資源(比如這裡的Jar包名為word-count-1.0.jar)。
add jar word-count-1.0.jar;
- 在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;
- 在MaxCompute用戶端查看結果。
select * from wc_out;
说明 如果您在 Java 程式中使用了任何資源,請務必將此資源加入 -resources參數。Jar命令的詳細介紹請參見作業提交 。