更新時(shí)間:2022年12月29日17時(shí)10分 來源:傳智教育 瀏覽次數(shù):
MapReduce的思想核心是“先分再合,分而治之”。
所謂“分而治之”就是把一個(gè)復(fù)雜的問題,按照一定的“分解”方法分為等價(jià)的規(guī)模較小的若干部分,然后逐個(gè)解決,分別找出各部分的結(jié)果,然后把各部分的結(jié)果組成整個(gè)問題的最終結(jié)果。
這種思想來源于日常生活與工作時(shí)的經(jīng)驗(yàn)。即使是發(fā)布過論文實(shí)現(xiàn)分布式計(jì)算的谷歌也只是實(shí)現(xiàn)了這種思想,而不是自己原創(chuàng)。
Map表示第一階段,負(fù)責(zé)“拆分”:即把復(fù)雜的任務(wù)分解為若干個(gè)“簡單的子任務(wù)”來并行處理??梢赃M(jìn)行拆分的 前提是這些小任務(wù)可以并行計(jì)算,彼此間幾乎沒有依賴關(guān)系。
Reduce表示第二階段,負(fù)責(zé)“合并”:即對map階段的結(jié)果進(jìn)行全局匯總。
這兩個(gè)階段合起來正是MapReduce思想的體現(xiàn)。
一個(gè)比較形象的語言解釋MapReduce 要數(shù)停車場中的所有停放車的總數(shù)量。
你數(shù)第一列,我數(shù)第二列…這就是Map階段,人越多,能夠同時(shí)數(shù)車的人就越多,速度就越快。
數(shù)完之后,聚到一起,把所有人的統(tǒng)計(jì)數(shù)加在一起。這就Reduce合并匯總階段。
北京校區(qū)