您好,登錄后才能下訂單哦!
mapreduce計算模型和執行原理是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
mapreduce計算模型和執行原理
MapReduce是一種分布式計算模型、MR由兩個階段組成:Map和Reduce,一說到分階段就有先有后,先執行map 在執行reduce。,map就是我們整個計算階段的起始,reduce呢就是我們整個計算階段的結束。從這個角度講我們map的輸入就是整個系統的輸入,reduce的輸出就是整個系統的輸出 ,map的輸出也就是reduce的輸入 這個呢,就他的一前一后的順序
2.這兩個函數的形參是key、value對,表示函數的輸入信息。 在我們map中有個map.entry它就是獲取鍵值對的
一、mapreduce的計算模型
mapreduce的計算模型,在這個計算模型中,客戶端也就是我們寫的代碼會提交給jobtracker,為什么提交給它呢,因為jobtracker接受用戶提交的計算任務,然后呢把計算任務分配給taskTracker來執行,在taskTracker中它有的是走map任務有的是走reduce任務,在這個圖中,這邊是跑map,這邊是跑reduce,map呢接受的是輸入數據,map處理之后呢有輸出,輸出呢作為reduce的輸入,reduce處理完了作為輸出,整個計算模型中我們的輸入就是map的輸入我們的輸出就是reduce的輸出
注意:在這里呢,mapper有兩個(也可以有多個)有一個reduce 在這呢map的數量 表示map任務的數量,這里的map 任務和reduce任務都是獨立的java進程
那map的數量和reduce的數量有什么關系呢看Mapreduce原理圖
-------->看下圖
那map的數量和reduce的數量有什么關系呢看Mapreduce原理圖
從這個圖,我們可以看出左下角的是輸入文件,他的數據會送給map任務去執行,在這里一共有五個map任務,這五個map任務拿的是不同的輸入數據,那么這個數據啊,他就會送到reduce這邊,reduce的數量是3個,reduce處理完了,會送到我們的磁盤中。
需要注意的是,map任務這5個是怎么對應到reduce的這3個呢,我們看一下,map的輸出,出現了3個分支這3個虛線,這3個分支送到了不同的shuffle中,那么這5個map任務都有3個不同的分支都分散到不通的shuffle中,也就是說,一個shuffle 會接受5個map的輸出,這個shuffle又把結果送到reduce任務中,換句話說,一個reduce接受的時候5個map的輸出。那我們來琢磨這事map輸出的分支數量與reduce任務的數量是相同的
關于mapreduce計算模型和執行原理是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。