| 1 | {{{ |
| 2 | #!html |
| 3 | <div style="text-align: center;"><big |
| 4 | style="font-weight: bold;"><big><big>雲端運算之大資料處理實務班</big></big></big></div> |
| 5 | }}} |
| 6 | [[PageOutline]] |
| 7 | |
| 8 | = 課程目標 = |
| 9 | |
| 10 | * 學習 Hadoop File System 之 API 實作 |
| 11 | * 學習 Hadoop MapReduce 開發輔助工具 Eclipse |
| 12 | * 學習 MapReduce 之 API 實作 |
| 13 | |
| 14 | = 預備知識 = |
| 15 | |
| 16 | * 具 Linux 操作實務與 Java 程式語言基礎者尤佳。 |
| 17 | |
| 18 | = 課程日期 = |
| 19 | |
| 20 | * 102年10月22~23日 (週二/週三 白天9:10 ~16:20 ),共2天、計12小時 。 |
| 21 | |
| 22 | = 課程內容 = |
| 23 | |
| 24 | |
| 25 | |
| 26 | == '''2013-10-19(六)''' == |
| 27 | |
| 28 | || 時段 || 課程內容 || 投影片[[BR]]實作步驟 || 補充資料 || |
| 29 | || 09:30-11:00 || Big Data 處理技術與 Hadoop 簡介 || [raw-attachment:wiki:Hinet131022:part-1.pdf 投影片] || * 重點一:減少資料搬運的頻寬成本跟時間成本 [[BR]] * 重點二:在地運算(Data Locality) || |
| 30 | || 11:00-11:20 || Hadoop 的三種模式與三種安裝方法 || || * http://hadoop.apache.org - Hadoop 專案官方首頁 [[BR]] * http://www.cloudera.com - RPM/DEB 套件庫 : [http://www.etusolution.com/index.php/tw/ 精誠知意圖(Etu)] [[BR]] * http://hortonworks.com - HDP for Windows : [http://www.tcloudcomputing.com.tw 趨勢騰雲(TCloud)] [[BR]] * http://www.mapr.com - MapR : [http://www.is-land.com.tw 亦思科技] || |
| 31 | || 11:20-12:00 || 單機模式(Local Mode)操作觀察 || [wiki:Hinet131022/Lab1 實作一] || * [http://hadoop.apache.org/docs/stable/single_node_setup.html 阿帕契基金會官網單機安裝流程] [[BR]] * [http://hadoop.nchc.org.tw/~jazz/temp Ubuntu 安裝 Hadoop / HBase 單機安裝腳本] || |
| 32 | || 12:00-12:25 || 偽分散式模式(Pseudo-Distributed Mode)操作觀察 || [wiki:Hinet131022/Lab2 實作二] || * [http://trac.nchc.org.tw/cloud/wiki/NTU131002/Lab2 官方 Hadoop 2.0 版的自動化安裝] || |
| 33 | || 12:25-13:30 || 午餐時間 || || || |
| 34 | || 13:30-13:45 || 全分散式模式(Full Distributed Mode)操作觀察 || [wiki:Hinet131022/Lab3 實作三] || || |
| 35 | || 13:45-14:00 || HDFS 基本指令操作 || [wiki:Hinet131022/Lab4 實作四] || || |
| 36 | || 14:00-14:20 || 基本除錯技能(一) Bash 除錯 || [wiki:Hinet131022/Lab5 實作五] || || |
| 37 | || 14:20-14:30 || 基本除錯技能(二) Log4J || [wiki:Hinet131022/Lab6 實作六] || || |
| 38 | || 14:20-14:40 || 基本除錯技能(三) 切換 Hadoop 設定檔 || [wiki:Hinet131022/Lab7 實作七] || || |
| 39 | || 14:40-15:00 || 中場休息 || |
| 40 | || 略過 || MapReduce 基本指令操作 || [wiki:Hinet131022/Lab8 實作八] || || |
| 41 | || 15:00-15:20 || Hadoop !FileSystem API 原始碼觀察 || [wiki:Hinet131022/Lab9 實作九] || || |
| 42 | || 15:20-15:40 || Hadoop !FileSystem API 實作(一) [[BR]] Local 檔案上傳到 HDFS || [wiki:Hinet131022/Lab10 實作十] || || |
| 43 | || 15:40-15:50 || Hadoop !FileSystem API 實作(二) [[BR]] HDFS 下載檔案到 Local || [wiki:Hinet131022/Lab11 實作十一] || || |
| 44 | || 15:50-16:00 || Hadoop !FileSystem API 實作(三) [[BR]] 判斷檔案是否存在、屬性為何 || [wiki:Hinet131022/Lab12 實作十二] || || |
| 45 | || 略過 || Windows 版 Hadoop 安裝 (1) Hadoop4Win || [wiki:Hinet131022/Lab13 實作十三] || * http://www.hadoop4win.org || |
| 46 | || 16:00-16:10 || Windows 版 Hadoop 安裝 (2) Windoop || [wiki:Hinet131022/Lab14 實作十四] || * http://code.google.com/p/windoop || |
| 47 | || 16:10-16:30 || Hadoop Eclipse Plugin 功能展示 || '''操作展示''' || || |
| 48 | |
| 49 | == '''2013-10-20(日)''' == |
| 50 | |
| 51 | || 時段 || 課程內容 || 實作 || 補充資料 || |
| 52 | || 09:30-10:10 || 第一天學員問題分享 || || * 如何自己建立練習環境 [[BR]] * [http://forum.hadoop.tw/viewtopic.php?f=7&t=36011 CCDH / CCAH 考試認證指南] [[BR]] * [http://forum.hadoop.tw Hadoop.TW 技術討論區] [[BR]] * [https://www.facebook.com/groups/hadoop.tw/ 臉書 Hadoop.TW 社團] [[BR]] * [http://classcloud.org/media 歷史課程錄影] || |
| 53 | || 10:10-10:40 || 新版 Hadoop MapReduce 語法 (0.19以後) [[BR]] 使用 WordCount 範例解說 || [wiki:Hinet131022/Lab15 實作十五] || || |
| 54 | || 10:40-11:00 || 中場休息 || || || |
| 55 | || 11:00-12:05 || MapReduce 『邏輯流』解說 || || || |
| 56 | || 12:05-13:05 || 午餐時間 || || || |
| 57 | || 13:05-13:25 || 舊版 Hadoop MapReduce 語法 (0.19以前) [[BR]] 使用 WordCount 範例解說 || [wiki:Hinet131022/Lab16 實作十六] || || |
| 58 | || 13:25-13:45 || Inner Class v.s. Public Classes || [wiki:Hinet131022/Lab17 實作十七] || || |
| 59 | || 13:45-14:00 || 增加 Reducer 個數:Job.setNumReduceTasks(N) || [wiki:Hinet131022/Lab18 實作十八] || || |
| 60 | || 14:00-14:15 || 觀察 Mapper 中間產物:Job.setNumReduceTasks(0) || [wiki:Hinet131022/Lab19 實作十九] || || |
| 61 | || 14:15-14:30 || 中場休息 || |
| 62 | || 14:40-15:00 || 預設的輸入格式:!TextInputFormat || [wiki:Hinet131022/Lab20 實作二十] || || |
| 63 | || 15:00-15:20 || 修改檔案輸入格式:!KeyValueTextInputFormat || [wiki:Hinet131022/Lab21 實作二十一] || || |
| 64 | || 15:20-16:00 || MapReduce 『資料流』解說 || || || |
| 65 | || 16:00-16:20 || 關於 MapReduce 的設定檔 Configuration || [wiki:Hinet131022/Lab22 實作二十二] || || |
| 66 | || 16:20-16:30 || 如果我需要兩個輸入檔呢? [[BR]] Distribtued Cache || [wiki:Hinet131022/Lab23 實作二十三] || || |
| 67 | |
| 68 | = 補充設定 = |
| 69 | |
| 70 | * screenrc 範例 |
| 71 | {{{ |
| 72 | $ cat > ~/.screenrc <<EOF |
| 73 | caption always "%{= wk} %{= KY} [%n]%t @ %H %{-} %= %{= KR} %l %{-} | %{= KG} %Y-%m-%d %{-} " |
| 74 | hardstatus alwayslastline " %-Lw%{= Bw}%n%f %t%{-}%+Lw %=|" |
| 75 | vbell off |
| 76 | EOF |
| 77 | }}} |
| 78 | |
| 79 | * 檢查 Java 記憶體使用量 |
| 80 | {{{ |
| 81 | top -p `pidof java | sed 's# #,#g'` |
| 82 | }}} |
| 83 | |
| 84 | * hadoop_labs for hadoop4win - 未經完整測試 |
| 85 | * https://github.com/jazzwang/hadoop_labs/archive/hadoop4win.zip |
| 86 | |
| 87 | = 公用環境 = |
| 88 | |
| 89 | * 課後問題討論,建議優先至台灣 Hadoop 使用者討論區 http://forum.hadoop.tw 或臉書粉絲團 https://www.facebook.com/groups/hadoop.tw/ 進行討論。 |
| 90 | * 需要 Hadoop 叢集環境,可至 http://hadoop.nchc.org.tw 申請帳號。 |
| 91 | * 申請步驟,請參閱[wiki:YMU110509/Lab1 截圖說明] |
| 92 | * 關於公用叢集的幾個重要入口: |
| 93 | * http://hadoop.nchc.org.tw - 實驗叢集入口網站 |
| 94 | * http://hadoop.nchc.org.tw/ganglia - 實驗叢集負載狀態 |
| 95 | * http://hadoop.nchc.org.tw:50030 - 實驗叢集正在執行與執行完畢的任務 |
| 96 | * http://hadoop.nchc.org.tw:50070 - 實驗叢集的硬碟空間狀態 |
| 97 | * http://hadoop.nchc.org.tw/hadoop-doc - Hadoop 相關說明文件 |
| 98 | * http://hadoop.nchc.org.tw/hadoop-doc/api/index.html - Hadoop 0.20.2 javadoc 文件 |