[[PageOutline]] ◢ <[wiki:III140614/Lab6 實作六]> | <[wiki:III140614 回課程大綱]> ▲ | <[wiki:III140614/Lab8 實作八]> ◣ = 實作七 Lab 7 = {{{ #!html
在 Hadoop4Win 環境下編譯 MapReduce 程式
Compiling Hadoop MapReduce Java Program in Hadoop4Win
}}} {{{ #!text 以下練習,請在本機的 Hadoop4Win 環境操作。 }}} == 練習一 : 字數統計(基礎篇) == == Practice 1 : Word Count (Basic) == * 首先請回到家目錄,建立一個程式專案的目錄,假設取名為 my-code {{{ ~$ cd ~$ mkdir my-code ~$ cd my-code }}} * 接著,建立一個目錄 src 用來存放 Java 原始碼。並且下載 build.xml 到 my-code 目錄中。 {{{ ~/my-code$ mkdir -p src ~/my-code$ wget http://www.classcloud.org/hadoop4win/build.xml }}} * 然後將您要編譯的 Java 原始碼置於 src 目錄中(開啟檔案總管,存到 c:\hadoop4win\home\${user}\my-code\src) * 這裡我們提供一個 WordCount.java 作為示範。 {{{ ~/my-code$ wget http://www.classcloud.org/hadoop4win/WordCount.java -O src/WordCount.java }}} * 執行 ant 指令開始編譯,結果會出現在 output.jar ,並且會產生對應的 javadoc 文件在 doc 目錄中。 {{{ ~/my-code$ ant }}} * 用 Hadoop 執行剛剛產生的 output.jar 當作 MapReduce Job。 * 註:output.jar 因為'''沒有設定 manifest '''所以'''必須指定要跑的 Main Class 名稱''' {{{ ~/my-code$ /opt/hadoop/bin/hadoop jar output.jar WordCount input my-output }}} == 備註 == * 如果您要編譯自己的程式碼,可以使用 cygstart 指令,它會用檔案系統開啟目前工作目錄 {{{ ~/my-code$ cygstart . }}} * 請將 *.java 程式碼放在 src 子目錄中 * 回到 Cygwin 命令列,執行 ant 進行編譯,然後用上述的步驟執行 output.jar 檔 {{{ ~/my-code$ ant ~/my-code$ /opt/hadoop/bin/hadoop jar output.jar 您的程式碼主類別 參數1 參數2 }}}