日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

云計(jì)算背后的秘密(1)-MapReduce - 51CTO.COM

 墨香居BOOK 2011-05-24

【引言】之前我寫過一些關(guān)于云計(jì)算誤區(qū)的文章,雖然這些文章并不是非常技術(shù),但是也非常希望它們能幫助大家理解云計(jì)算這一新浪潮。最近,我將云計(jì)算背后的一些核心技術(shù)介紹給讀者,由于云計(jì)算的核心技術(shù)是我最熟悉和最擅長,而且宣傳這些技術(shù)也是我寫《剖析云計(jì)算》一書和建立PeopleYun.com站點(diǎn)的初衷,這就是“云計(jì)算背后的秘密”這個系列的由來。

在這個新系列中將介紹多種云計(jì)算所涉及到的核心技術(shù),包括分布式處理、分布式數(shù)據(jù)庫、分布式鎖、分布式文件系統(tǒng)、多租戶架構(gòu)和虛擬化等,而且將會介紹這些技術(shù)相關(guān)的產(chǎn)品和用例,以幫助大家進(jìn)一步理解這些技術(shù)。預(yù)計(jì)每周會更新一篇,總長度會在10篇左右,希望大家能喜歡,而本文則是這個系列的第一篇。


在Google數(shù)據(jù)中心會有大規(guī)模數(shù)據(jù)需要處理,比如被網(wǎng)絡(luò)爬蟲(Web Crawler)抓取的大量網(wǎng)頁等。由于這些數(shù)據(jù)很多都是PB級別,導(dǎo)致處理工作不得不盡可能的并行化,而Google為了解決這個問題,引入了MapReduce這個分布式處理框架。

技術(shù)概覽

MapReduce本身源自于函數(shù)式語言,主要通過"Map(映射)"和"Reduce(化簡)"這兩個步驟來并行處理大規(guī)模的數(shù)據(jù)集。首先,Map會先對由很多獨(dú)立元素組成的邏輯列表中的每一個元素進(jìn)行指定的操作,且原始列表不會被更改,會創(chuàng)建多個新的列表來保存Map的處理結(jié)果。也就意味著,Map操作是高度并行的。當(dāng)Map工作完成之后,系統(tǒng)會接著對新生成的多個列表進(jìn)行清理(Shuffle)和排序,之后,會這些新創(chuàng)建的列表進(jìn)行Reduce操作,也就是對一個列表中的元素根據(jù)Key值進(jìn)行適當(dāng)?shù)暮喜?。下圖為MapReduce的運(yùn)行機(jī)制:
 

 

圖1. MapReduce的運(yùn)行機(jī)制

接下來,將根據(jù)上圖來舉一個MapReduce的例子來幫助大家理解:比如,通過搜索引擎的爬蟲(Spider)將海量的Web頁面從互聯(lián)網(wǎng)中抓取到本地的分布式文件系統(tǒng)中,然后索引系統(tǒng)將會對存儲在這個分布式文件系統(tǒng)中海量的Web頁面進(jìn)行平行的Map處理,生成多個Key為URL,Value為html頁面的鍵值對(Key-Value Map),接著,系統(tǒng)會對這些剛生成的鍵值對進(jìn)行Shuffle(清理),之后,系統(tǒng)會通過Reduce操作來根據(jù)相同的key值(也就是URL)合并這些鍵值對。

優(yōu)劣點(diǎn)

談到MapReduce的優(yōu)點(diǎn),主要有兩個方面:其一,通過MapReduce這個分布式處理框架,不僅能用于處理大規(guī)模數(shù)據(jù),而且能將很多繁瑣的細(xì)節(jié)隱藏起來,比如,自動并行化、負(fù)載均衡和災(zāi)備管理等,這樣將極大地簡化程序員的開發(fā)工作;其二,MapReduce的伸縮性非常好,也就是說,每增加一臺服務(wù)器,其就能將差不多的計(jì)算能力接入到集群中,而過去的大多數(shù)分布式處理框架,在伸縮性方面都與MapReduce相差甚遠(yuǎn)。而 MapReduce最大的不足則在于,其不適應(yīng)實(shí)時應(yīng)用的需求,所以在Google最新的實(shí)時性很強(qiáng)的Caffeine搜索引擎中,MapReduce的主導(dǎo)地位已經(jīng)被可用于實(shí)時處理Percolator系統(tǒng)所代替,其具體細(xì)節(jié),將在本系列接下來的文章中進(jìn)行介紹。

相關(guān)產(chǎn)品

除了Google內(nèi)部使用的MapReduce之外,還有,由Lucene之父Doug Cutting領(lǐng)銜的Yahoo團(tuán)隊(duì)開發(fā),Apache管理的MapReduce的開源版本Hadoop,而且一經(jīng)推出,就受到業(yè)界極大的歡迎,并且衍生出HDFS、ZooKeeper、Hbase、Hive和Pig等系列產(chǎn)品。

實(shí)際用例

在實(shí)際的工作環(huán)境中,MapReduce這套分布式處理框架常用于分布式grep、分布式排序、Web訪問日志分析、反向索引構(gòu)建、文檔聚類、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、基于統(tǒng)計(jì)的機(jī)器翻譯和生成整個搜索引擎的索引等大規(guī)模數(shù)據(jù)處理工作,并且已經(jīng)在很多國內(nèi)知名的互聯(lián)網(wǎng)公司內(nèi)部得到極大地應(yīng)用,比如百度和淘寶。

最后,如果大家對MapReduce感興趣的話,可以到Hadoop的官方站點(diǎn)上下載并試用。

【編輯推薦】

  1. 從Qualcomm公司實(shí)施云計(jì)算說起
  2. 咖啡館里的云 打印機(jī)的新模樣
  3. 了解云的多租戶是云采用的關(guān)鍵一步

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多