A股上市公司傳智教育(股票代碼 003032)旗下高端IT教育品牌
全國咨詢/投訴熱線:400-618-4000
更新時間:2021-12-03 來源:黑馬程序員 瀏覽量:
MapReduce核心思想
MapReuce的核心思想是“分而治之”。所謂"分面治之”就是把一個復雜的問題,按照一定的“分解”方法分為等價的規(guī)模較小的若干部分,然后逐個解決,分別找出各部分的結(jié)果,把各部分的結(jié)果組成整個問題的結(jié)果。這種思想來源于日常生活與工作時的經(jīng)驗,同樣也完全適合技術(shù)領(lǐng)域。
為了更好地理解“分而治之”思想.先來看一個生活中的例子。 例如,某大型公司在全國設(shè)立了分公司,假設(shè)現(xiàn)在要統(tǒng)計公司一年的營收情況制作年報,有兩種統(tǒng)計方式。第一種方式是全國分公司將自己的賬單數(shù)據(jù)發(fā)送至總部,由總部統(tǒng)一計算公司當年的營收報表:第二種方式是采用分而治之的思想,也就是說,先要求分公司各自統(tǒng)計營收情況,再將統(tǒng)計結(jié)果發(fā)給總部進行統(tǒng)一匯總計算。 這兩種方式相比,顯然第二種方式的策略更好,工作效率更高。
MapReduce作為一種分布式計算模型,它主要用于解決海量數(shù)據(jù)的計算問題。使用MapReduce分析海量數(shù)據(jù)時,每個MapReduce程序被初始化為一個工作任務(wù),每個工作任務(wù)可以分為Map和Reduce兩個階段,具體介紹如下。
·Map階段:負責將任務(wù)分解,即把復雜的任務(wù)分解成若干個“簡單的任務(wù)”來并行處理,但前提是這些任務(wù)沒有必然的依賴關(guān)系,可以單獨執(zhí)行任務(wù)。
·Reduce階段:負責將任務(wù)合并,即把Map階段的結(jié)果進行全局匯總。
下面通過一個圖來描述上述MapReduce的核心思想,具體如下圖所示。
MapReduce的核心思想
從圖可知,MapReduce就是“任務(wù)的分解與結(jié)果的匯總”。即使用戶不懂分布式計算框架的內(nèi)部運行機制,但是只要能用Map和Reduce思想描述清楚要處理的問題,就能輕松地在Hadoop集群上實現(xiàn)分布式計算功能。
猜你喜歡:
數(shù)據(jù)分析的流程是什么?如何做數(shù)據(jù)分析?
Scrapy框架的工作原理是什么?
Spark Mllib分層抽樣操作步驟
黑馬程序員python+大數(shù)據(jù)開課程
有哪些頁面置換算法?
如何解決Redis的并發(fā)競爭Key問題?
varchar和char的使用場景?
協(xié)程為何比線程還快?
TIME_WAIT過多是因為什么?
range和xrange的區(qū)別是什么?
Flume日志采集系統(tǒng):簡單結(jié)構(gòu)和復雜結(jié)構(gòu)
Flume的運行機制介紹
TiDB為什么要進行調(diào)度?TiDB調(diào)度全流程
怎樣安裝和開啟Kafka-Eagle?
requests模塊怎樣爬取網(wǎng)頁?(具體代碼演示)
利用函數(shù)實現(xiàn)Pytho對象和JSON數(shù)據(jù)的相互轉(zhuǎn)換
javaee
python大數(shù)據(jù)
web
ui
cloud
test
c
netmarket
pm
Linux
movies
robot
uids
AI
jdbc
首頁|校區(qū)分布|師資力量|關(guān)于我們|報名流程
常見問題|技術(shù)資訊
江蘇傳智播客教育科技股份有限公司版權(quán)所有Copyright 2006-2023, All Rights Reserved
試聽
咨詢
報名