一、功能:用於處理和生成大規模數據集的相關的實現,將數據切割成數據塊分批處理。
二、工做原理:用戶定義一個map函數來處理一個Key-Value對以生成一批中間的Key-Value對,再定義一個reduce函數將全部這些中間的有相同Key的Value合併起來,MapReduce模型主要有Mapper和Reducer,Mapper端主要負責對數據的分析處理,最終轉化爲Key-Value的數據結構;Reducer端主要是獲取Mapper出來的結果,對結果進行統計。即分而治之的策略:
三、工做過程:
將分析的文件切割成多個數據塊,將其分配給各個節點處理,每一個節點又把數據塊分給多個map處理,接着多個map將結果發送給shuffle處理,shuffle再將其交給reduce,最終將其寫入到分佈式系統文件。
python