Changes between Version 68 and Version 69 of NCHCCloudCourse100928


Ignore:
Timestamp:
Jul 18, 2011, 9:27:50 AM (13 years ago)
Author:
waue
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NCHCCloudCourse100928

    v68 v69  
    1 {{{
    2 #!html
    3 <div style="text-align: center;"><big
    4  style="font-weight: bold;"><big><big> Hadoop 進階程式設計與 HBase 資料庫整合實作</big></big></big></div>
    5 }}}
    6 [[PageOutline]]
    7 
    8 
    9 = 課程資訊 =
    10 
    11  * 上課時間: 2010/09/28 (二) ~ 2010/09/29 (三) 09:30 ~ 16:30 2 天,共計 12 個小時
    12  * 上課地點: 國家高速網路與計算中心 台中 電腦教室 A
    13  * [https://edu.nchc.org.tw/course/one_course_introduction.asp?lms_auto_course_id=1478&from_course_list_url=course_index 報名網頁課程資訊]
    14 
    15 = 課程大綱 =
    16 
    17 == '''2010-09-28 (二)''' ==
    18 
    19  * [raw-attachment:wiki:NCHCCloudCourse100928:Day1-hadoop_20100928_v1.pdf 第一天講義投影片完整版] (PDF)
    20 
    21  ||     時間      || 時數 || 課程內容 || 投影片[[BR]]實作 || 補充 ||
    22  || 09:30~10:40 ||  50m || 介紹課程與 Hadoop 簡介  || [raw-attachment:wiki:NCHCCloudCourse100928:part-1.pdf part-1] || 1. [wiki:NCHCCloudCourse100928_1_Install 補充一:Hadoop 單機安裝與設定][[BR]]2. [raw-attachment:wiki:NCHCCloudCourse100928:install-hadoop Ubuntu 10.04 安裝 JDK, Hadoop 0.20.2 的 Bash Script][[BR]]3. 影像處理參考:[raw-attachment:wiki:jazz/09-11-10:09-11-12_hadoop-tw-09.pdf 吳冠龍先生,台大資工系通訊與多媒體實驗室][[BR]] Image Selection for Large-Scale Flickr Photos using Hadoop[[BR]]4. ACM 論文:[http://portal.acm.org/citation.cfm?id=1631528 Canonical image selection ...][[BR]]5. [http://hpc.asu.edu/files/Customizing%20Input%20File%20Formats%20for%20Image%20Processing%20in%20Hadoop_0.pdf Customizing InputFileFormats for Image Processing in Hadoop][[BR]],Jeff Conner, Arizona State University ||
    23  || 10:43~10:53 ||  10m || 休息 || || ||
    24  || 10:53~11:30 || 40m || Hadoop生態系簡介 || [raw-attachment:wiki:NCHCCloudCourse100928:part-2.pdf part-2] || 1. [http://forum.hadoop.tw/viewtopic.php?f=4&t=301 <學習資源> Hadoop 目前三本書籍][[BR]]2. [http://www.umiacs.umd.edu/~jimmylin/MapReduce-book-final.pdf Data-Intensive Text Processing with MapReduce] (PDF),[[BR]][http://www.umiacs.umd.edu/~jimmylin/book.html Jimmy Lin, University of Maryland] ||
    25  || 11:30~12:00 || 0.5h || 實作一:Hadoop Streaming 範例操作 || [wiki:NCHCCloudCourse100928/Lab1 Lab-1] || 1. [wiki:NCHCCloudCourse100928/Lab1 實作一:Hadoop Streaming 範例操作] ||
    26  || 13:00~13:30  || 0.5h  || MapReduce 與 HDFS 觀念介紹 || [raw-attachment:wiki:NCHCCloudCourse100928:part-3.pdf part-3] || 1. [http://trac.nchc.org.tw/grid/intertrac/wiki%3Ajazz/09-04-14%23MapReduce 不同語言的 MapReduce 實作] ||
    27  || 13:30~14:20  || 50m  || 開發輔助工具 Eclipse | Netbeans || [raw-attachment:wiki:NCHCCloudCourse100928:part-4.pdf part-4][[BR]][wiki:NCHCCloudCourse100928/Lab2 Lab-2] || 1. [wiki:NCHCCloudCourse100928_2_IDE 實作二 :編譯環境設定- 安裝 Eclipse 3.3.2 與 Hadoop 外掛程式][[BR]]2. [wiki:NCHCCloudCourse100928/Netbeans 補充二:安裝 Netbean 6.9.1 中文版與 KamaSphere Studio 外掛程式] ||
    28  || 14:30~15:00  || 30m  || Map Reduce 程式架構 || [raw-attachment:wiki:NCHCCloudCourse100928:part-5.pdf part-5] || 1. [wiki:NCHCCloudCourse100928_3_EXE 實作三 : HDFS IO Code] ||     
    29  || 15:00~16:50  || 2h 超過  ||   程式設計:範例程式解說與實作 || [raw-attachment:wiki:NCHCCloudCourse100928:part-5.pdf part-5] || 1. [wiki:NCHCCloudCourse100928_4_EXM 實作四 : MapReduce 範例程式] ||       
    30 
    31  * 課後練習方式:
    32    * 使用[http://www.cloudera.com/downloads/ Cloudera 提供的 VMWare Image] (CDH2, 0.20.x)
    33    * 使用[http://developer.yahoo.com/hadoop/tutorial/module3.html#vm Yahoo! Hadoop Tutorial 的 VMWare Image] (0.20.S)
    34    * 使用[http://code.google.com/intl/zh-TW/edu/parallel/tools/hadoopvm/index.html Google 提供的 Hadoop VMWare Image] (0.13,很舊了)
    35 
    36 ==  '''2010-09-29 (三)'''  ==
    37 
    38  * [raw-attachment:wiki:NCHCCloudCourse100928:Day2-hbase-2010023-handout.pdf 第二天講義投影片完整版] (PDF)
    39 
    40  ||     時間      || 時數  || 課程內容 || 投影片/實作 || 補充 ||
    41  || 09:30~10:20  ||   50m || 開發環境確認[[BR]]範例程式補完[[BR]]Hadoop應用範例分享 || [raw-attachment:wiki:NCHCCloudCourse100928:part-5.pdf part-5] || 1. [wiki:NCHCCloudCourse100928#補充資料 心得分享:NoSQL 必須視應用特性再決定是否採用][[BR]]2. [wiki:NCHCCloudCourse100928_4_EXM 實作四:MapReduce 範例程式] ||
    42  || 10:20~10:30 ||   10m || 休息 || || ||
    43  || 10:30~11:30  ||  60m || HBase 簡介與架構 || [raw-attachment:wiki:NCHCCloudCourse100928:part-6.pdf part-6] || 1. [wiki:NCHCCloudCourse100929_1_HBInstall 實作五:安裝與設定參考] ||
    44  || 11:30~12:00  ||  30m || HBase 安裝操作說明 || [raw-attachment:wiki:NCHCCloudCourse100928:part-7.pdf part-7] || 1. [wiki:NCHCCloudCourse100929_2_USE 實作六:HBase 使用方法] ||
    45  || 12:00~13:00  ||  60m || - 午餐 || || ||
    46  || 13:00~14:00  ||  60m || HBase 程式架構與範例 || [raw-attachment:wiki:NCHCCloudCourse100928:part-8.pdf part-8] || 1. [wiki:NCHCCloudCourse100929_4_HBEX 實作七 :HBase程式設計][[BR]]2. [wiki:NCHCCloudCourse100929_4_HEXM HBase 範例:台中餐城(TCRC)銷售金額統計] ||
    47  || 14:00~14:20 ||  20m || 實作練習 + 休息 + 發課程收據/修課證明 || || ||
    48  || 14:20~16:00 || 100m || Hadoop + HBase + PHP  案例實務  || [raw-attachment:wiki:NCHCCloudCourse100928:part-8.pdf part-8] || 1. [wiki:waue/2010/HbaseThrift 實作八 :Hbase + Thrift + PHP ] ||
    49  || 16:00~16:10 ||  10m || 補充教材: hadoop + 關聯式資料庫 || [raw-attachment:wiki:NCHCCloudCourse100928:part-9.pdf part-9] || 1. [wiki:NCHCCloudCourse100928_MYSQL Hadoop 透過 JDBC 連結 MySQL 範例程式碼][[BR]]2. [http://www.mysql.com/downloads/connector/j/ JDBC Driver for MySQL (Connector/J)][[BR]] 3. [http://www.cloudera.com/blog/tag/dbinputformat/ 關於 DBInputFormat (from Cloudera)] - [http://developer.yahoo.net/blogs/hadoop/DBInputFormat.ppt slides] ||
    50  || 16:10~16:30 ||  20m || Hadoop 與 HBase 應用案例分享 || [raw-attachment:wiki:NCHCCloudCourse100928:part-10.pdf part-10] || 1. [wiki:waue/2009/SEC_to_ICAS ICAS][[BR]]2. [http://code.google.com/p/crawlzilla Crawlzilla] ||
    51 
    52  * 課後問題討論,建議優先至 http://forum.hadoop.tw 進行討論。
    53  * 需要 Hadoop 叢集環境,可至 http://hadoop.nchc.org.tw 申請帳號。
    54 
    55 = 課程實做 =
    56 
    57 == 第一天 ==
    58 
    59  * 實做一 : [wiki:NCHCCloudCourse100928_1_Install 安裝與設定參考]
    60  * 實做二 : [wiki:NCHCCloudCourse100928_2_IDE 編譯環境設定]
    61  * 實做三 : [wiki:NCHCCloudCourse100928_3_EXE 程式設計I- HDFS IO Code]
    62  * 實做四 : [wiki:NCHCCloudCourse100928_4_EXM 程式設計II- MapReduce 範例程式]
    63 
    64 == 第二天 ==
    65 
    66  * 實做一 : [wiki:NCHCCloudCourse100929_1_HBInstall 安裝與設定參考]
    67  * 實做二 : [wiki:NCHCCloudCourse100929_2_USE HBase 使用方法]
    68  * 實做三 : [wiki:waue/2010/HbaseThrift Hbase + Thrift + PHP ]
    69  * 實做四 : [wiki:NCHCCloudCourse100929_4_HBEX HBase程式設計] , [wiki:NCHCCloudCourse100929_4_HEXM 範例]
    70 
    71 = 補充資料 =
    72 
    73  * [benchmark] [http://wiki.github.com/brianfrankcooper/YCSB/ Yahoo! Cloud Serving Benchmark (YCSB)] - [http://research.yahoo.com/node/3202 論文: Benchmarking Cloud Serving Systems with YCSB]
    74    * Yahoo 寫的效能測試軟體,YCSB 1.2 版支援 HBase, Cassandra, MongoDB
    75    * 從[http://www.brianfrankcooper.net/pubs/ycsb-socc-talk.ppt 論文簡報投影片]得到的[http://www.brianfrankcooper.net/pubs/ycsb-v4.pdf 結論]注意到幾件事情:
    76      * 若資料庫特性是一半讀一半寫,MySQL 大約在 7500 operations/sec 時會到達效能極限。若資料庫特性是 95% 讀 5% 寫,就沒看到明顯效能極限。
    77      * HBase 寫入飛快,但讀取會稍微慢一點,而且讀取的效率不太線性。(寫入記憶體所以超快,但成本也比較高,查詢時重建紀錄) 加機器時,不會有明顯的效能差異 (跟 HDFS 一樣,要跑 balancer 才會搬資料)。 - Low Update Latency, Higher Read Latency
    78      * Cassandra 寫入稍微慢一點,讀取則比 HBase 快,特別是資料庫特性是 95% 讀取時比 HBase 快。加機器的時候,會需要一段時間才能讓效能穩定下來(這部分我覺得是副本架構造成的)。
    79      * [[Image(NCHCCloudCourse100928:cassandra_hbase_update_heavy.png,width=800)]]
    80      * [[Image(NCHCCloudCourse100928:cassandra_hbase_read_heavy.png,width=800)]]
    81      * [[Image(NCHCCloudCourse100928:cassandra_hbase_short_scans.png,width=800)]]
    82      * [[Image(NCHCCloudCourse100928:cassandra_hbase_scale_up.png,width=800)]]
     1[[WikiInclude(NCHCCloudCourse110718)]]