1. MapReduce是Hadoop的一個核心技術、是一個基于分布式的對大數據集進行并行處理的一個計算框架。
2. 核心思想是移動計算而非數據。
3. 整個計算流程分為兩個階段,一個是map階段,一個是reduce階段
- map階段 一個mapreduce作業在map階段會先對數據進行邏輯分片處理,一個邏輯分片對應一個MapTask。
每一個MapTask在處理數據的時候,都會將每一行數據解析成鍵值對的形式,作為輸入。
輸入給map函數。map函數處理后,也會以鍵值對的形式作為輸出。
之后會對數據進行分區,排序等處理
- reduce階段 在進入reduce階段之前。
reduceTask會將自己要處理的分區數據fetch到reduceTask所在的機器節點上,然后以鍵值對