??服務(wù)器軟件??>??分布式/云計(jì)算谷歌三大核心技術(shù)(二)GoogleMapReduce中文版您的評(píng)價(jià):??????收藏該經(jīng)驗(yàn)????GoogleMapReduce中文版????譯者:alex?摘要MapReduce">
MapReduce詳細(xì)介紹

MapReduce詳細(xì)介紹

ID:39345250

大?。?85.58 KB

頁(yè)數(shù):17頁(yè)

時(shí)間:2019-07-01

MapReduce詳細(xì)介紹_第1頁(yè)
MapReduce詳細(xì)介紹_第2頁(yè)
MapReduce詳細(xì)介紹_第3頁(yè)
MapReduce詳細(xì)介紹_第4頁(yè)
MapReduce詳細(xì)介紹_第5頁(yè)
資源描述:

《MapReduce詳細(xì)介紹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、窗體底端所有分類??>??服務(wù)器軟件??>??分布式/云計(jì)算谷歌三大核心技術(shù)(二)GoogleMapReduce中文版您的評(píng)價(jià):??????收藏該經(jīng)驗(yàn)????GoogleMapReduce中文版????譯者:alex?摘要MapReduce是一個(gè)編程模型,也是一個(gè)處理和生成超大數(shù)據(jù)集的算法模型的相關(guān)實(shí)現(xiàn)。用戶首先創(chuàng)建一個(gè)Map函數(shù)處理一個(gè)基于key/valuepair的數(shù)據(jù)集合,輸出中間的基于key/valuepair的數(shù)據(jù)集合;然后再創(chuàng)建一個(gè)Reduce函數(shù)用來(lái)合并所有的具有相同中間key值的中間value值?,F(xiàn)實(shí)世界中有很多滿足上述處理模

2、型的例子,本論文將詳細(xì)描述這個(gè)模型。?MapReduce架構(gòu)的程序能夠在大量的普通配置的計(jì)算機(jī)上實(shí)現(xiàn)并行化處理。這個(gè)系統(tǒng)在運(yùn)行時(shí)只關(guān)心:如何分割輸入數(shù)據(jù),在大量計(jì)算機(jī)組成的集群上的調(diào)度,集群中計(jì)算機(jī)的錯(cuò)誤處理,管理集群中計(jì)算機(jī)之間必要的通信。采用MapReduce架構(gòu)可以使那些沒(méi)有并行計(jì)算和分布式處理系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)的程序員有效利用分布式系統(tǒng)的豐富資源。?我們的MapReduce實(shí)現(xiàn)運(yùn)行在規(guī)??梢造`活調(diào)整的由普通機(jī)器組成的集群上:一個(gè)典型的MapReduce計(jì)算往往由幾千臺(tái)機(jī)器組成、處理以TB計(jì)算的數(shù)據(jù)。程序員發(fā)現(xiàn)這個(gè)系統(tǒng)非常好用:已經(jīng)實(shí)現(xiàn)了數(shù)以

3、百計(jì)的MapReduce程序,在Google的集群上,每天都有1000多個(gè)MapReduce程序在執(zhí)行。1、介紹在過(guò)去的5年里,包括本文作者在內(nèi)的Google的很多程序員,為了處理海量的原始數(shù)據(jù),已經(jīng)實(shí)現(xiàn)了數(shù)以百計(jì)的、專用的計(jì)算方法。這些計(jì)算方法用來(lái)處理大量的原始數(shù)據(jù),比如,文檔抓?。愃凭W(wǎng)絡(luò)爬蟲(chóng)的程序)、Web請(qǐng)求日志等等;也為了計(jì)算處理各種類型的衍生數(shù)據(jù),比如倒排索引、Web文檔的圖結(jié)構(gòu)的各種表示形勢(shì)、每臺(tái)主機(jī)上網(wǎng)絡(luò)爬蟲(chóng)抓取的頁(yè)面數(shù)量的匯總、每天被請(qǐng)求的最多的查詢的集合等等。大多數(shù)這樣的數(shù)據(jù)處理運(yùn)算在概念上很容易理解。然而由于輸入的數(shù)據(jù)量

4、巨大,因此要想在可接受的時(shí)間內(nèi)完成運(yùn)算,只有將這些計(jì)算分布在成百上千的主機(jī)上。如何處理并行計(jì)算、如何分發(fā)數(shù)據(jù)、如何處理錯(cuò)誤?所有這些問(wèn)題綜合在一起,需要大量的代碼處理,因此也使得原本簡(jiǎn)單的運(yùn)算變得難以處理。?為了解決上述復(fù)雜的問(wèn)題,我們?cè)O(shè)計(jì)一個(gè)新的抽象模型,使用這個(gè)抽象模型,我們只要表述我們想要執(zhí)行的簡(jiǎn)單運(yùn)算即可,而不必關(guān)心并行計(jì)算、容錯(cuò)、數(shù)據(jù)分布、負(fù)載均衡等復(fù)雜的細(xì)節(jié),這些問(wèn)題都被封裝在了一個(gè)庫(kù)里面。設(shè)計(jì)這個(gè)抽象模型的靈感來(lái)自Lisp和許多其他函數(shù)式語(yǔ)言的Map和Reduce的原語(yǔ)。我們意識(shí)到我們大多數(shù)的運(yùn)算都包含這樣的操作:在輸入數(shù)據(jù)的“

5、邏輯”記錄上應(yīng)用Map操作得出一個(gè)中間key/valuepair集合,然后在所有具有相同key值的value值上應(yīng)用Reduce操作,從而達(dá)到合并中間的數(shù)據(jù),得到一個(gè)想要的結(jié)果的目的。使用MapReduce模型,再結(jié)合用戶實(shí)現(xiàn)的Map和Reduce函數(shù),我們就可以非常容易的實(shí)現(xiàn)大規(guī)模并行化計(jì)算;通過(guò)MapReduce模型自帶的“再次執(zhí)行”(re-execution)功能,也提供了初級(jí)的容災(zāi)實(shí)現(xiàn)方案。?這個(gè)工作(實(shí)現(xiàn)一個(gè)MapReduce框架模型)的主要貢獻(xiàn)是通過(guò)簡(jiǎn)單的接口來(lái)實(shí)現(xiàn)自動(dòng)的并行化和大規(guī)模的分布式計(jì)算,通過(guò)使用MapReduce模型接

6、口實(shí)現(xiàn)在大量普通的PC機(jī)上高性能計(jì)算。?第二部分描述基本的編程模型和一些使用案例。第三部分描述了一個(gè)經(jīng)過(guò)裁剪的、適合我們的基于集群的計(jì)算環(huán)境的MapReduce實(shí)現(xiàn)。第四部分描述我們認(rèn)為在MapReduce編程模型中一些實(shí)用的技巧。第五部分對(duì)于各種不同的任務(wù),測(cè)量我們MapReduce實(shí)現(xiàn)的性能。第六部分揭示了在Google內(nèi)部如何使用MapReduce作為基礎(chǔ)重寫(xiě)我們的索引系統(tǒng)產(chǎn)品,包括其它一些使用MapReduce的經(jīng)驗(yàn)。第七部分討論相關(guān)的和未來(lái)的工作。2、編程模型MapReduce編程模型的原理是:利用一個(gè)輸入key/valuepair

7、集合來(lái)產(chǎn)生一個(gè)輸出的key/valuepair集合。MapReduce庫(kù)的用戶用兩個(gè)函數(shù)表達(dá)這個(gè)計(jì)算:Map和Reduce。?用戶自定義的Map函數(shù)接受一個(gè)輸入的key/valuepair值,然后產(chǎn)生一個(gè)中間key/valuepair值的集合。MapReduce庫(kù)把所有具有相同中間key值I的中間value值集合在一起后傳遞給reduce函數(shù)。?用戶自定義的Reduce函數(shù)接受一個(gè)中間key的值I和相關(guān)的一個(gè)value值的集合。Reduce函數(shù)合并這些value值,形成一個(gè)較小的value值的集合。一般的,每次Reduce函數(shù)調(diào)用只產(chǎn)生0或1

8、個(gè)輸出value值。通常我們通過(guò)一個(gè)迭代器把中間value值提供給Reduce函數(shù),這樣我們就可以處理無(wú)法全部放入內(nèi)存中的大量的value值的集合。2.1、例子例如

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。