百科創(chuàng)建
14.4K
3293

映射-化簡(jiǎn)編程模型

美國(guó)谷歌(Google)公司在2004年提出的映射-化簡(jiǎn)(MapReduce)編程模型,是最具代表性的批處理模式。其主要思想是從函數(shù)式編程語言里借鑒的,還有從矢量編程語言里借鑒的特性。它極大地方便了編程人員在不懂分布式并行編程的情況下,將自己的程序運(yùn)行在分布式系統(tǒng)上。軟件實(shí)現(xiàn)是指定一個(gè)Map函數(shù),把一組鍵值對(duì)映射成一組新的鍵值對(duì),指定并發(fā)的Reduce函數(shù),用來保證所有映射的鍵值對(duì)中的每一個(gè)共享相同的鍵組。

一個(gè)完整的MapReduce過程是:MapReduce模型首先將用戶的原始數(shù)據(jù)源進(jìn)行分塊,然后分別交給不同的Map任務(wù)區(qū)處理。Map任務(wù)從輸入中解析出鍵值對(duì)集合,然后對(duì)這些集合執(zhí)行用戶自行定義的Map函數(shù)得到中間結(jié)果,并將該結(jié)果寫入本地硬盤。Reduce任務(wù)從硬盤上讀取數(shù)據(jù)之后,會(huì)根據(jù)鍵值進(jìn)行排序,將具有相同鍵值的數(shù)據(jù)組織在一起。最后用戶自定義的Reduce函數(shù)會(huì)作用于這些排好序的結(jié)果并輸出最終結(jié)果。

MapReduce的核心設(shè)計(jì)思想是:①將問題分而治之;②用計(jì)算推到數(shù)據(jù)而不是用數(shù)據(jù)推到計(jì)算,有效避免數(shù)據(jù)傳輸過程中產(chǎn)生的大量通信開銷。MapReduce模型簡(jiǎn)單,且現(xiàn)實(shí)中很多問題都可用MapReduce模型來表示。因此該模型公開后,立刻受到極大關(guān)注,并在生物信息學(xué)、文本挖掘等領(lǐng)域得到廣泛應(yīng)用。

3293

免責(zé)聲明:本站詞條系由網(wǎng)友創(chuàng)建、編輯和維護(hù),內(nèi)容僅供參考。

以上內(nèi)容均為商業(yè)內(nèi)容展示,僅供參考,不具備專業(yè)問題解決服務(wù),

如果您需要解決具體問題(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域的專業(yè)人士。

如您發(fā)現(xiàn)詞條內(nèi)容涉嫌侵權(quán),請(qǐng)通過 948026894@qq.com 與我們聯(lián)系進(jìn)行刪除處理!

下一篇:鏈接攻擊
一秒推