Hadoop MapReduce是一個處理大數(shù)據(jù)并行的軟件框架。
標簽:開發(fā)商: Apache
產(chǎn)品類型:控件
產(chǎn)品功能:IDE集成開發(fā)環(huán)境
平臺語言:
開源水平:不提供源碼
本產(chǎn)品的分類與介紹僅供參考,具體以商家網(wǎng)站介紹為準,如有疑問請來電 023-68661681 咨詢。
Hadoop MapReduce是一個可輕松編寫大數(shù)據(jù)應用程序的軟件框架,其編寫的應用程序能夠以可靠和高容錯的方式處理大型集群(成千上萬個節(jié)點)中海量數(shù)據(jù)集(以TB為計)的并行。
MapReduce基本結構由被稱為Map(映射)和Reduce(歸約)的兩部分用戶程序組成,它極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運行在分布式系統(tǒng)上。?當前的軟件實現(xiàn)是指定一個Map(映射)函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(歸約)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。
聲明:本產(chǎn)品中文介紹為慧都網(wǎng)版權所有,未經(jīng)慧都公司書面許可,嚴禁拷貝、轉載!
* 關于本產(chǎn)品的分類與介紹僅供參考,精準產(chǎn)品資料以官網(wǎng)介紹為準,如需購買請先行測試。
MapReduce采用“分而治之”的思想,把對大規(guī)模數(shù)據(jù)集的操作,分發(fā)給一個主節(jié)點管理下的各個分節(jié)點共同完成,然后通過整合各個節(jié)點的中間結果,得到最終結果。簡單地說,MapReduce就是“任務的分解與結果的匯總”。
在Hadoop中,用于執(zhí)行MapReduce任務的機器角色有兩個:一個是JobTracker;另一個是TaskTracker,JobTracker是用于調度工作的,TaskTracker是用于執(zhí)行工作的。一個Hadoop集群中只有一臺JobTracker。
在分布式計算中,MapReduce框架負責處理了并行編程中分布式存儲、工作調度、負載均衡、容錯均衡、容錯處理以及網(wǎng)絡通信等復雜問題,把處理過程高度抽象為兩個函數(shù):map和reduce,map負責把任務分解成多個任務,reduce負責把分解后多任務處理的結果匯總起來。
需要注意的是,用MapReduce來處理的數(shù)據(jù)集(或任務)必須具備這樣的特點:待處理的數(shù)據(jù)集可以分解成許多小的數(shù)據(jù)集,而且每一個小數(shù)據(jù)集都可以完全并行地進行處理。
MapReduce提供了以下的主要功能:
系統(tǒng)自動將一個作業(yè)(Job)待處理的大數(shù)據(jù)劃分為很多個數(shù)據(jù)塊,每個數(shù)據(jù)塊對應于一個計算任務(Task),并自動 調度計算節(jié)點來處理相應的數(shù)據(jù)塊。作業(yè)和任務調度功能主要負責分配和調度計算節(jié)點(Map節(jié)點或Reduce節(jié)點),同時負責監(jiān)控這些節(jié)點的執(zhí)行狀態(tài),并 負責Map節(jié)點執(zhí)行的同步控制
為了減少數(shù)據(jù)通信,一個基本原則是本地化數(shù)據(jù)處理,即一個計算節(jié)點盡可能處理其本地磁盤上所分布存儲的數(shù)據(jù),這實現(xiàn)了代碼向 數(shù)據(jù)的遷移;當無法進行這種本地化數(shù)據(jù)處理時,再尋找其他可用節(jié)點并將數(shù)據(jù)從網(wǎng)絡上傳送給該節(jié)點(數(shù)據(jù)向代碼遷移),但將盡可能從數(shù)據(jù)所在的本地機架上尋 找可用節(jié)點以減少通信延遲。
為了減少數(shù)據(jù)通信開銷,中間結果數(shù)據(jù)進入Reduce節(jié)點前會進行一定的合并處理;一個Reduce節(jié)點所處理的數(shù)據(jù)可能會來自多個 Map節(jié)點,為了避免Reduce計算階段發(fā)生數(shù)據(jù)相關性,Map節(jié)點輸出的中間結果需使用一定的策略進行適當?shù)膭澐痔幚?,保證相關性數(shù)據(jù)發(fā)送到同一個 Reduce節(jié)點;此外,系統(tǒng)還進行一些計算性能優(yōu)化處理,如對最慢的計算任務采用多備份執(zhí)行、選最快完成者作為結果。
以低端商用服務器構成的大規(guī)模MapReduce計算集群中,節(jié)點硬件(主機、磁盤、內存等)出錯和軟件出錯是常態(tài),因此 MapReduce需要能檢測并隔離出錯節(jié)點,并調度分配新的節(jié)點接管出錯節(jié)點的計算任務。同時,系統(tǒng)還將維護數(shù)據(jù)存儲的可靠性,用多備份冗余存儲機制提 高數(shù)據(jù)存儲的可靠性,并能及時檢測和恢復出錯的數(shù)據(jù)。
更新時間:2016-01-27 11:02:17.000 | 錄入時間:2016-01-27 11:01:49.000 | 責任編輯:陳俊吉