本文為您介紹如何在MaxCompute Studio上開發MapReduce,包括編寫MapReduce、調試MapReduce、打包、上傳和運行MapReduce。
前提條件
您需要完成以下操作:
已串連MaxCompute專案。
更多串連MaxCompute專案操作,請參見管理專案串連。
已建立Java Module。
更多建立Java Module操作,請參見建立MaxCompute Java Module。
編寫MapReduce
在Project地區,按右鍵Module的源碼目錄(即 ),選擇 。
填寫Name並選擇類型為Driver,按下Enter鍵。
Name:建立的MaxCompute Java Class名稱。如果還沒有建立Package,在此處填寫packagename.classname,會自動產生Package。
選擇類型為Driver、Mapper或Reducer。
說明您可以根據需要選擇Driver、Mapper或Reducer類型:
Driver: MapReduce作業中的驅動程式類。負責構建一個MapReduce Job來運行,可以在Driver中指定啟動並執行Mapper和Reducer類以及進行任務的各種資訊配置,其可以看做Mapreduce作業的入口類。
Mapper: MapReduce資料處理的第一個階段,在這裡處理每條記錄並產生相應的索引值對。
Reducer: Mapper產生的中間輸出到Reducer,Reducer對其進行處理並產生最終輸出,然後將其儲存在MaxCompute表中。
建立成功後,在編輯介面開發Java程式。
Java模板已自動填滿架構代碼,您只需設定輸入表、輸出表、Mapper和Reducer類等資訊。
通過本地運行調試MapReduce
通過本地運行方式測試,查看MapReduce的運行結果是否符合預期。
按右鍵編寫完成的Java指令碼,選擇Run。
在Run/Debug Configurations頁面上選擇此次啟動並執行MaxCompute專案名稱。
單擊OK,開始運行。
說明本地運行會讀取warehouse中指定的表資料作為輸入,您可以在控制台查看日誌輸出。
通過單元測試調試MapReduce
您可以參照examples目錄下的WordCount單元測試樣本,編寫測試案例。
打包上傳
調試成功之後,將Java程式打成JAR包,並作為資源上傳至MaxCompute服務端。詳情請參見打包、上傳和註冊。
運行MapReduce
通過MaxCompute用戶端運行MapReduce。
在左側導覽列,單擊Project Explorer。
按右鍵專案名稱,選擇Open in Console。
在Console地區,執行如下命令運行MapReduce。
更多命令請參見JAR命令。
jar -resources wordcount.jar -classpath D:\odps\clt\wordcount.jar com.aliyun.odps.examples.mr.WordCount wc_in wc_out;