1. 程式人生 > >易學筆記-第2章 關於MapReduce

易學筆記-第2章 關於MapReduce

第2章 關於MapReduce/2.1 氣象資料集

  1. 例子:
    1. 需求:
    2. 氣溫的資料格式:
      1.  

第2章 關於MapReduce/2.2 使用Unix工具來分析資料

  1. 需求:
  2. 傳統的awk分析:
    1. 遍歷整個資料檔案,找到一年中最高的那個氣溫:
  3. 並行處理
    1. 將任務劃分為大小相同的作業,每一個作業由獨立的程序處理。由於每一個作業資料檔案存在差異性,所以有些作業時間少,有些作業時間多,最後的時間還是取決於最慢的作業
    2. 合併各個獨立作業的執行結果,然後繼續排序
    3. 受限於單臺計算機的計算能力。如果資料處理量超過計算機能力,也將大大拖累整個任務完成效果
    4. 多個任務存在協調性和可靠性問題,比如失敗的程序怎麼處理

第2章 關於MapReduce/2.3 使用Hadoop來分析資料/2.3.1 map和reduce

  1. 概念:兩者都是以鍵值對的方式作為輸入輸出的,其中
    1. map:資料準備,比如將文字的每一行作為輸入,由於只關心年份和氣溫,所以只需要取出年份和氣溫值即可
    2. reduce:資料處理,比如找出每一年的最高氣溫
  2. 舉例:
    1. map:
      1. 輸入:
      2. 輸出:通過對鍵值進行排序和處理後得出結果,該結果作為reduce的輸入
    2. reduce :
      1. 輸入:map處理後的資料:
      2. 輸出:找出每一個年份最大值:
  3. 整個資料流過程:
    1. 原始資料-->map輸入 (鍵值對):行偏移量:每行資料-->多個單行(年份,氣溫)-->按年份排序並彙集氣溫-->map輸出-->reduce每一行取最大值-->reduce輸出