摘要
MapReduce 是一種編程模型委煤,能夠處理和產(chǎn)生數(shù)據(jù)序列的聯(lián)系性實(shí)現(xiàn)遭殉。用戶定義map函數(shù)處理鍵值對(duì)來生成中間鍵值對(duì)杀捻,通過reduce函數(shù)通過中間鍵值對(duì)的聯(lián)系來合并所有的中間值。很多現(xiàn)實(shí)世界的任務(wù)都應(yīng)用了這個(gè)模型颠通,接下來將進(jìn)行介紹址晕。
在此函數(shù)類型之下的程序是自動(dòng)平行并且執(zhí)行在商用機(jī)器的大數(shù)據(jù)集群上的。這個(gè)實(shí)時(shí)系統(tǒng)做好了這些細(xì)節(jié)分割輸入數(shù)據(jù)顿锰,機(jī)群調(diào)度谨垃,提交機(jī)器錯(cuò)誤,以及管理機(jī)器間必要的交流硼控。這讓沒有任何平行和分發(fā)系統(tǒng)開發(fā)經(jīng)驗(yàn)的程序員來利用大型分發(fā)系統(tǒng)的數(shù)據(jù)刘陶。
MapReduce運(yùn)行在聯(lián)合機(jī)器的大型集群上,是高度可擴(kuò)展的一個(gè)典型的MapReduce計(jì)算處理很多T級(jí)數(shù)據(jù)在數(shù)千計(jì)主機(jī)上牢撼。程序員發(fā)現(xiàn)程序是簡單可用的因?yàn)閿?shù)百的MapReduce程序已經(jīng)被實(shí)現(xiàn)了以及超過一千個(gè)MapReduce工作在谷歌集群上每天執(zhí)行著匙隔。
1 介紹
在過去的五年中,作者和很多谷歌人實(shí)現(xiàn)了數(shù)百個(gè)特殊目標(biāo)計(jì)算處理大規(guī)模未經(jīng)處理的數(shù)據(jù)熏版,像是爬文檔纷责、網(wǎng)頁要求日志等捍掺,來計(jì)算不同種類的分割數(shù)據(jù)像是倒置索引,網(wǎng)頁文檔圖形結(jié)構(gòu)的不同表達(dá)再膳,每個(gè)主機(jī)爬數(shù)據(jù)的頁數(shù)匯總挺勿,特定日期內(nèi)的頻率最高的請(qǐng)求等等。