教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

簡單舉例,MapReduce是如何進行計算的

更新時間:2020年10月16日15時02分 來源:傳智播客 瀏覽次數:

  MapReduce的核心思想是“分而治之”。所謂“分而治之”就是把一個復雜的問題,按照一定的“分解”方法分為等價的規(guī)模較小的若干部分,然后逐個解決,分別找出各部分的結果,把各部分的結果組成整個問題的結果,這種思想來源于日常生活與工作時的經驗,同樣也完全適合技術領域。

  為了更好地理解“分而治之”思想,我們先來舉一個生活的例子。例如,某大型公司在全國設立了分公司,假設現(xiàn)在要統(tǒng)計公司今年的營收情況制作年報,有兩種統(tǒng)計方式,第1種方式是全國分公司將自己的賬單數據發(fā)送至總部,由總部統(tǒng)一計算公司今年的營收報表;第2種方式是采用分而治之的思想,也就是說,先要求分公司各自統(tǒng)計營收情況,再將統(tǒng)計結果發(fā)給總部進行統(tǒng)一匯總計算。這兩種方式相比,顯然第2種方式的策略更好,工作效率更高效。

  MapReduce作為一種分布式計算模型,它主要用于解決海量數據的計算問題。使用MapReduce操作海量數據時,每個MapReduce程序被初始化為一個工作任務,每個工作任務可以分為Map和Reduce兩個階段,具體介紹如下:

  · Map階段:負責將任務分解,即把復雜的任務分解成若干個“簡單的任務”來并行處理,但前提是這些任務沒有必然的依賴關系,可以單獨執(zhí)行任務。

  · Reduce階段:負責將任務合并,即把Map階段的結果進行全局匯總。

  下面通過一個圖來描述上述MapReduce的核心思想,具體如圖1所示。

  圖1 MapReduce核心思想

  從圖1可知,MapReduce就是“任務的分解與結果的匯總”。即使用戶不懂分布式計算框架的內部運行機制,但是只要能用Map和Reduce思想描述清楚要處理的問題,就能輕松地在Hadoop集群上實現(xiàn)分布式計算功能。


猜你喜歡:

什么是大數據?大數據有什么特征?

Spark計算框架在處理數據時有什么優(yōu)勢?【大數據培訓】

0 分享到:
和我們在線交談!