您好,登錄后才能下訂單哦!
今天給大家介紹一下如何通過(guò)矩陣乘法來(lái)搞懂MapReduce。文章的內(nèi)容小編覺(jué)得不錯(cuò),現(xiàn)在給大家分享一下,覺(jué)得有需要的朋友可以了解一下,希望對(duì)大家有所幫助,下面跟著小編的思路一起來(lái)閱讀吧。
(一)
矩陣乘法來(lái)理解MapReduce
要求使用計(jì)算機(jī)計(jì)算矩陣相乘(兩個(gè)矩陣大小超過(guò)計(jì)算機(jī)內(nèi)存大小)
2. 因?yàn)榫仃囅喑耸侵感?列,故可以把第一個(gè)矩陣第一行記作A1和另一個(gè)矩陣的第一列記作B1,以下類推.....分別推送到一臺(tái)服務(wù)器上去執(zhí)行行列乘積,(這就對(duì)應(yīng)于MapReduce中Map)如果這個(gè)矩陣的大小為100行*100列,那么我們就需要100臺(tái)機(jī)器去并行執(zhí)行每行每列的計(jì)算乘積。如下圖:
3 . 各個(gè)計(jì)算機(jī)全部處理完畢后會(huì)對(duì)各個(gè)機(jī)器計(jì)算的結(jié)果進(jìn)行匯總,最后輸出結(jié)果。(這就對(duì)應(yīng)于MapReduce中Reduce)。
(二)
使用場(chǎng)景及分析
從上面的計(jì)算過(guò)程來(lái)看MapReduce是采用了各個(gè)擊破的套路,先把一個(gè)大的計(jì)算過(guò)程,分解成小的計(jì)算過(guò)程并計(jì)算出每個(gè)過(guò)程的計(jì)算結(jié)果,最后把各個(gè)計(jì)算結(jié)果合并起來(lái)就得到完整的計(jì)算結(jié)果。不僅可以解決單臺(tái)機(jī)器配置問(wèn)題,而且可以并行計(jì)算,加快計(jì)算速度。
MapReduce在數(shù)據(jù)分析中起著非常重要作用,比如我們需要對(duì)用戶訪問(wèn)某個(gè)URL進(jìn)行分析,如果沒(méi)有MapReduce的話我們需要不斷串行讀取,不斷循環(huán)分析或者優(yōu)化后采用多線程也會(huì)很復(fù)雜,但是有了MapReduce模型之后我們就可以把數(shù)據(jù)拆分開(kāi)并行分析處理,最后匯總。特別適合數(shù)據(jù)量大,存在重復(fù)性高,匯總后結(jié)果比較小的使用場(chǎng)景。
(三)
由此可以看出MapReduce的道理是非常簡(jiǎn)單的,主要采用了分治的思想。他也非常符合日常生活常理,當(dāng)我們做一件比較大的工作時(shí),通常習(xí)慣性把一個(gè)大任務(wù)拆分成多個(gè)小任務(wù),然后各個(gè)擊破處理。
以上就是如何通過(guò)矩陣乘法來(lái)搞懂MapReduce的全部?jī)?nèi)容了,更多與如何通過(guò)矩陣乘法來(lái)搞懂MapReduce相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進(jìn)行學(xué)習(xí)哈!相信小編會(huì)給大家增添更多知識(shí),希望大家能夠支持一下億速云!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。