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

映射-化簡編程模型

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

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

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

3293

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

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

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

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

上一篇:Spark計算引擎
下一篇:鏈接攻擊
一秒推