| 1 | {{{ |
| 2 | #!html |
| 3 | <div style="text-align: center;"><big |
| 4 | style="font-weight: bold;"><big><big>雲端運算核心技術 Hadoop 與 MapReduce 上機練習 (加映場)</big></big></big></div> |
| 5 | }}} |
| 6 | [[PageOutline]] |
| 7 | |
| 8 | * 深入了解 Hadoop 的參考資料:http://classcloud.org/media 歷史課程錄影(兩天) |
| 9 | * 作業討論區:http://forum.hadoop.tw |
| 10 | * 申請 21 台 hadoop 實驗環境帳號:http://hadoop.nchc.org.tw |
| 11 | |
| 12 | == '''2010-05-01 (三)''' == |
| 13 | |
| 14 | || 上午時段 || 課程內容 || 投影片 || 補充資料 || |
| 15 | || 10:00~12:00 || Hadoop簡介 || [raw-attachment:wiki:NCTU100501:01_from_CPP_to_Java.pdf Part-01] || 1. [raw-attachment:wiki:NCTU100501:JavaHTP6e_08.ppt Classes and Objects: A Deeper Look][[BR]]2. [raw-attachment:wiki:NCTU100501:JavaHTP6e_09.ppt 繼承] || |
| 16 | || 下午時段 || 課程內容 || 投影片 || 補充資料 || |
| 17 | || 14:10~14:30 || [raw-attachment:wiki:Hinet100402:03.HadoopInstallation.pdf Hadoop 安裝與設定解析] || [raw-attachment:wiki:Hinet100402:03.HadoopInstallation.pdf Part-02] || - [wiki:Hadoop4Win 單機 Windows 嚐鮮實驗環境 - Hadoop4Win][[BR]]- [http://www.cloudera.com/developers/downloads/virtual-machine/ Cloudera Hadoop 虛擬機器]|| |
| 18 | || 14:30~15:00 || HDFS 操作與 MapReduce 範例程式展示 || [wiki:Hadoop_Lab2 Demo-01][[BR]][wiki:Hadoop_Lab3 Demo-02] || || |
| 19 | |
| 20 | * 補充:[wiki:Hadoop_Lab5 用 Eclipse 開發 hadoop 程式] |
| 21 | * 基於 !NetBeans 的 MapReduce 開發環境 - [http://www.hadoopstudio.org/ Karmasphere Studio for Hadoop] - Karmasphere Studio for Hadoop is a Sample screenshot MapReduce development environment (IDE) based on !NetBeans. |
| 22 | * STEP 1: 下載 !NetBeans IDE 6.8 - [http://bits.netbeans.org/netbeans/6.8/community/fcs/bundles/netbeans-6.8-ml-javase-windows.exe Windows]/[http://bits.netbeans.org/netbeans/6.8/community/fcs/bundles/netbeans-6.8-ml-javase-linux.sh Linux]/[http://bits.netbeans.org/netbeans/6.8/community/fcs/bundles/netbeans-6.8-ml-javase-macosx.dmg Mac OS X] |
| 23 | * STEP 2: 參考 [http://www.hadoopstudio.org/docs/tutorials/nb-tutorial-installation.html 安裝步驟] 文件,設定 JDK 路徑與安裝擴充套件 |
| 24 | * STEP 3: 參考 [http://www.hadoopstudio.org/docs/tutorials/nb-tutorial-jobdev-walkthru.html 基本入門] 文件,學習如何使用 Karmasphere Studio for Hadoop 來開發 MapReduce 程式。目前感覺它的 Job Workflow Plugin 介面,對於初學者寫程式來說,還蠻不錯的,因為可以直接看到 !InputFileFormat 的 Key 跟 Value 長怎樣。 |
| 25 | * 備註:宣稱 Karmasphere Studio for Hadoop 可以支援跨平台工作部署 - [http://www.hadoopstudio.org/docs/tutorials/tutorial-clients-intro.html Hadoop Clients and Operating System Portability][[br]][[Image(wiki:NCTU100407:10-04-27_Hadoop_Client_Portablility.jpg)]] |
| 26 | |
| 27 | == 作業 == |
| 28 | |
| 29 | * 題組一: |
| 30 | * 使用 Cloudera Hadoop VM 練習完成 inverse index 題目撰寫。 |
| 31 | * 標準題:因為有多數同學不熟悉 Java 程式語言,因此第一次作業主要以環境安裝、實作練習為主,請各位同學繳交實驗報告一份。(80%) |
| 32 | * 加分題:以 Cloudera Hadoop VM 那一份待運算的資料,比較 inverse index 在單機虛擬機器的執行時間與在 21 台實驗環境上的執行時間。(20%) |
| 33 | * 提示:開啟 Cloudera Hadoop VM 瀏覽器,選 exercise 的 inverse index,題目說明的最後一行有重要提示。 |
| 34 | * 參考報告格式: |
| 35 | * 實驗步驟 |
| 36 | * 標準題結果:(1) shakespear 資料集跑 inverse index 執行結果前 20 筆;(2) 從 !JobTracker 網頁( http://localhost:50030 )查詢執行時間。 |
| 37 | * 加分題結果:(1) shakespear 資料集跑 inverse index 執行結果前 20 筆;(2) 從 !JobTracker 網頁( http://hadoop.nchc.org.tw:50030 )查詢執行時間。 |
| 38 | * 繳交時間:六月二日(三) |
| 39 | * 繳交方式:以個人為單位,將報告 e-mail 至 jazz@nchc.org.tw |
| 40 | * 題組二: |
| 41 | * 已知 java 語法中,extends 代表繼承自父類別,implement 代表實作某介面(Interface,類似 C++ 多重繼承),請根據 WordCount 範例程式(wordcount.java),繪製 UML 類別圖(參考下圖,實線代表繼承,虛線代表實作)。(20%) 註:繪製 UML 可以使用 [http://alexdp.free.fr/violetumleditor/page.php Violet UML Editor] |
| 42 | * [[Image(wiki:NCTU100407:wordcount_uml.jpg)]] |
| 43 | * 以 hadoop 0.20.2 預設的 conf 目錄為輸入,使用 hadoop fs -put conf input 上傳檔案至 HDFS,請嘗試在 wordcount 範例程式中加入 system.out.println,並回答 map() 函數輸入的 key 內容為何?(20%) |
| 44 | * 乘上題,根據 wordcount 執行過程,當單機執行時,請問同時有幾個 mapper 被執行?並請參考以下圖形,繪製單機運作時 mapper 與 reducer 運作順序。(20%) |
| 45 | * [[Image(wiki:NCTU100407:wordcount_mapred.png)]] |
| 46 | * 將 wordcount 範例移植到國網中心 hadoop.nchc.org.tw 上運行,請問同時有幾個 mapper 被執行?並請參考以下圖形,繪製單機運作時 mapper 與 reducer 運作順序。(20%) |
| 47 | * [[Image(wiki:NCTU100407:wordcount_mapred.png)]] |
| 48 | * 試根據單機執行與叢集執行的 !JobTracker 網頁( http://localhost:50030 & http://hadoop.nchc.org.tw:50030 )查詢總執行時間,並比較兩者之時間差異。(20%) |
| 49 | * 繳交時間:六月二日(三) |
| 50 | * 繳交方式:以個人為單位,將報告 e-mail 至 jazz@nchc.org.tw |