用故事說(shuō)明什么是MapReduce與洋蔥辣椒醬

我問(wèn)妻子:“你真的想要弄懂什么是MapReduce鹏氧?” 她很堅(jiān)定的回答說(shuō)“是的”。 因此我問(wèn)道:

我: 你是如何準(zhǔn)備洋蔥辣椒醬的佩谣?(以下并非準(zhǔn)確食譜把还,請(qǐng)勿在家嘗試)

妻子: 我會(huì)取一個(gè)洋蔥,把它切碎,然后拌入鹽和水吊履,最后放進(jìn)混合研磨機(jī)里研磨安皱。這樣就能得到洋蔥辣椒醬了。

妻子: 但這和MapReduce有什么關(guān)系艇炎?

我: 你等一下酌伊。讓我來(lái)編一個(gè)完整的情節(jié),這樣你肯定可以在15分鐘內(nèi)弄懂MapReduce.

妻子: 好吧缀踪。

我:現(xiàn)在居砖,假設(shè)你想用薄荷、洋蔥驴娃、番茄奏候、辣椒、大蒜弄一瓶混合辣椒醬唇敞。你會(huì)怎么做呢蔗草?

妻子: 我會(huì)取薄荷葉一撮,洋蔥一個(gè)疆柔,番茄一個(gè)咒精,辣椒一根,大蒜一根旷档,切碎后加入適量的鹽和水模叙,再放入混合研磨機(jī)里研磨,這樣你就可以得到一瓶混合辣椒醬了鞋屈。

我: 沒(méi)錯(cuò)范咨,讓我們把MapReduce的概念應(yīng)用到食譜上。Map和Reduce其實(shí)是兩種操作谐区,我來(lái)給你詳細(xì)講解下湖蜕。

Map(映射): 把洋蔥、番茄宋列、辣椒和大蒜切碎昭抒,是各自作用在這些物體上的一個(gè)Map操作。
所以你給Map一個(gè)洋蔥炼杖,Map就會(huì)把洋蔥切碎灭返。
同樣的,你把辣椒坤邪,大蒜和番茄一一地拿給Map熙含,你也會(huì)得到各種碎塊。
所以艇纺,當(dāng)你在切像洋蔥這樣的蔬菜時(shí)怎静,你執(zhí)行就是一個(gè)Map操作邮弹。

Map操作適用于每一種蔬菜,它會(huì)相應(yīng)地生產(chǎn)出一種或多種碎塊蚓聘,在我們的例子中生產(chǎn)的是蔬菜塊腌乡。
在Map操作中可能會(huì)出現(xiàn)有個(gè)洋蔥壞掉了的情況,你只要把壞洋蔥丟了就行了夜牡。
所以与纽,如果出現(xiàn)壞洋蔥了,Map操作就會(huì)過(guò)濾掉壞洋蔥而不會(huì)生產(chǎn)出任何的壞洋蔥塊塘装。

Reduce(化簡(jiǎn)):在這一階段急迂,你將各種蔬菜碎都放入研磨機(jī)里進(jìn)行研磨,你就可以得到一瓶辣椒醬了蹦肴。
這意味要制成一瓶辣椒醬僚碎,你得研磨所有的原料。
因此冗尤,研磨機(jī)通常將map操作的蔬菜碎聚集在了一起听盖。

妻子: 所以胀溺,這就是MapReduce?

我: 你可以說(shuō)是裂七,也可以說(shuō)不是。
其實(shí)這只是MapReduce的一部分仓坞,MapReduce的強(qiáng)大在于分布式計(jì)算背零。

妻子: 分布式計(jì)算? 那是什么无埃?請(qǐng)給我解釋下吧徙瓶。

我: 沒(méi)問(wèn)題。

我: 假設(shè)你參加了一個(gè)辣椒醬比賽并且你的食譜贏得了最佳辣椒醬獎(jiǎng)嫉称。
得獎(jiǎng)之后侦镇,辣椒醬食譜大受歡迎,于是你想要開(kāi)始出售自制品牌的辣椒醬织阅。
假設(shè)你每天需要生產(chǎn)10000瓶辣椒醬壳繁,你會(huì)怎么辦呢?

妻子: 我會(huì)找一個(gè)能為我大量提供原料的供應(yīng)商荔棉。

我:是的..就是那樣的闹炉。
那你能否獨(dú)自完成制作呢?
也就是說(shuō)润樱,獨(dú)自將原料都切碎渣触?
僅僅一部研磨機(jī)又是否能滿足需要?
而且現(xiàn)在壹若,我們還需要供應(yīng)不同種類的辣椒醬嗅钻,像洋蔥辣椒醬皂冰、青椒辣椒醬、番茄辣椒醬等等养篓。

妻子: 當(dāng)然不能了灼擂,我會(huì)雇傭更多的工人來(lái)切蔬菜。
我還需要更多的研磨機(jī)觉至,這樣我就可以更快地生產(chǎn)辣椒醬了剔应。

我:沒(méi)錯(cuò),所以現(xiàn)在你就不得不分配工作了语御,你將需要幾個(gè)人一起切蔬菜峻贮。
每個(gè)人都要處理滿滿一袋的蔬菜,而每一個(gè)人都相當(dāng)于在執(zhí)行一個(gè)簡(jiǎn)單的Map操作应闯。
每一個(gè)人都將不斷的從袋子里拿出蔬菜來(lái)纤控,并且每次只對(duì)一種蔬菜進(jìn)行處理,也就是將它們切碎碉纺,直到袋子空了為止船万。
這樣,當(dāng)所有的工人都切完以后骨田,工作臺(tái)(每個(gè)人工作的地方)上就有了洋蔥塊耿导、番茄塊、和蒜蓉等等态贤。

妻子:但是我怎么會(huì)制造出不同種類的番茄醬呢舱呻?

我:現(xiàn)在你會(huì)看到MapReduce遺漏的階段—攪拌階段。
MapReduce將所有輸出的蔬菜碎都攪拌在了一起悠汽,這些蔬菜碎都是在以key為基礎(chǔ)的 map操作下產(chǎn)生的箱吕。
攪拌將自動(dòng)完成,你可以假設(shè)key是一種原料的名字柿冲,就像洋蔥一樣茬高。
所以全部的洋蔥keys都會(huì)攪拌在一起,并轉(zhuǎn)移到研磨洋蔥的研磨器里假抄。
這樣怎栽,你就能得到洋蔥辣椒醬了。
同樣地慨亲,所有的番茄也會(huì)被轉(zhuǎn)移到標(biāo)記著番茄的研磨器里婚瓜,并制造出番茄辣椒醬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末刑棵,一起剝皮案震驚了整個(gè)濱河市巴刻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛉签,老刑警劉巖胡陪,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沥寥,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡柠座,警方通過(guò)查閱死者的電腦和手機(jī)邑雅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)妈经,“玉大人淮野,你說(shuō)我怎么就攤上這事〈蹬荩” “怎么了骤星?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)爆哑。 經(jīng)常有香客問(wèn)我洞难,道長(zhǎng),這世上最難降的妖魔是什么揭朝? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任队贱,我火速辦了婚禮,結(jié)果婚禮上潭袱,老公的妹妹穿的比我還像新娘柱嫌。我一直安慰自己,他們只是感情好敌卓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布慎式。 她就那樣靜靜地躺著伶氢,像睡著了一般趟径。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上癣防,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天蜗巧,我揣著相機(jī)與錄音,去河邊找鬼蕾盯。 笑死幕屹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的级遭。 我是一名探鬼主播望拖,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼挫鸽!你這毒婦竟也來(lái)了说敏?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤丢郊,失蹤者是張志新(化名)和其女友劉穎盔沫,沒(méi)想到半個(gè)月后医咨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡架诞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年拟淮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谴忧。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡很泊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沾谓,到底是詐尸還是另有隱情撑蚌,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布搏屑,位于F島的核電站争涌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏辣恋。R本人自食惡果不足惜亮垫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伟骨。 院中可真熱鬧饮潦,春花似錦、人聲如沸携狭。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)逛腿。三九已至稀并,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間单默,已是汗流浹背碘举。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搁廓,地道東北人引颈。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像境蜕,于是被迫代替她去往敵國(guó)和親蝙场。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Hadoop簡(jiǎn)介Hadoop就是一個(gè)實(shí)現(xiàn)了Google云計(jì)算系統(tǒng)的開(kāi)源系統(tǒng)粱年,包括并行計(jì)算模型Map/Reduce售滤,...
    dechuan閱讀 603評(píng)論 0 0
  • Hadoop簡(jiǎn)介 Hadoop就是一個(gè)實(shí)現(xiàn)了Google云計(jì)算系統(tǒng)的開(kāi)源系統(tǒng),包括并行計(jì)算模型Map/Reduce...
    5a4982b9b5fe閱讀 279評(píng)論 0 2
  • Hadoop簡(jiǎn)介 Hadoop就是一個(gè)實(shí)現(xiàn)了Google云計(jì)算系統(tǒng)的開(kāi)源系統(tǒng)逼泣,包括并行計(jì)算模型Map/Reduce...
    永遠(yuǎn)的冷冽閱讀 20,913評(píng)論 1 23
  • 我是如何向老婆解釋MapReduce的? - 文章 - 伯樂(lè)在線 http://blog.jobbole.com...
    葡萄喃喃囈語(yǔ)閱讀 711評(píng)論 0 2
  • 面膜的原理:利用覆蓋在臉部的短暫時(shí)間嗜憔,提高皮膚溫度秃励,皮膚的毛孔擴(kuò)張,促進(jìn)汗腺分泌與新陳代謝吉捶,使皮膚的含氧量上升夺鲜,活...
    Xenabehappy閱讀 108評(píng)論 0 0