MapReduce是一個分散式計算框架
優點:可在短時間內完成大量工作
缺點:演算法必須經過重寫,需要對系統工程有一定的理解
使用資料型別:數值型和標稱型資料
MapReduce在大量節點組成的叢集上執行,它的工作流程是:
第一步,單個作業被分成很多小份,輸入資料也被切片分發到每個節點,各個節點只在本地資料上做運算,對應的運算程式碼稱為mapper,這個過程被稱作map階段。每個mapper的輸出通過某種方式組合(一般還會做排序)。排序後的結果再被分成小份分發到各個節點進行下一步處理工作。
第二步的處理階段稱為reduce階段,對應的執行程式碼被稱為reducer。reducer的輸出就是程式的最終執行結果。