教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

MapReduce的特點是什么?有哪些局限性

更新時間:2023年05月08日11時46分 來源:傳智教育 瀏覽次數(shù):

MapReduce是什么

Hadoop MapReduce是一個分布式計算框架,用于輕松編寫分布式應(yīng)用程序,這些應(yīng)用程序以可靠,容錯的方式并行處理大型硬件集群(數(shù)千個節(jié)點)上的大量數(shù)據(jù)(多TB數(shù)據(jù)集)。

MapReduce是一種面向海量數(shù)據(jù)處理的一種指導(dǎo)思想,也是一種用于對大規(guī)模數(shù)據(jù)進行分布式計算的編程模型。

發(fā)展歷程
MapReduce最早由Google于2004年在一篇名為《MapReduce:Simplified Data Processingon Large Clusters》的論文中提出。

論文中谷歌把分布式數(shù)據(jù)處理的過程拆分為Map和Reduce兩個操作函數(shù)(受到函數(shù)式編程語言的啟發(fā)),隨后被 Apache Hadoop參考并作為開源版本提供支持,叫做Hadoop MapReduce。

它的出現(xiàn)解決了人們在最初面臨海量數(shù)據(jù)束手無策的問題,同時它還是易于使用和高度可擴展的,使得開發(fā)者無需關(guān)系分布式系統(tǒng)底層的復(fù)雜性即可很容易的編寫分布式數(shù)據(jù)處理程序,并在成千上萬臺普通的商用服務(wù)器中運行。

MapReduce特點

易于編程

Mapreduce框架提供了用于二次開發(fā)的接口;簡單地實現(xiàn)一些接口,就可以完成一個分布式程序。任務(wù)計算交給計算框架去處理,將分布式程序部署到hadoop集群上運行,集群節(jié)點可以擴展到成百上千個等。

良好的擴展性

當計算機資源不能得到滿足的時候,可以通過增加機器來擴展它的計算能力?;贛apReduce的分布式計算得特點可以隨節(jié)點數(shù)目增長保持近似于線性的增長,這個特點是MapReduce處理海量數(shù)據(jù)的關(guān)鍵,通過將計算節(jié)點增至幾百或者幾千可以很容易地處理數(shù)百TB甚至PB級別的離線數(shù)據(jù)。

高容錯性

Hadoop集群是分布式搭建和部署得,任何單一機器節(jié)點宕機了,它可以把上面的計算任務(wù)轉(zhuǎn)移到另一個節(jié)點上運行,不影響整個作業(yè)任務(wù)得完成,過程完全是由Hadoop內(nèi)部完成的。

適合海量數(shù)據(jù)的離線處理

可以處理GB、TB和PB級別得數(shù)據(jù)量

MapReduce局限性

MapReduce雖然有很多的優(yōu)勢,也有相對得局限性,局限性不代表不能做,而是在有些場景下實現(xiàn)的效果比較差,并不適合用MapReduce來處理,主要表現(xiàn)在以下結(jié)果方面:

實時計算性能差

MapReduce主要應(yīng)用于離線作業(yè),無法作到秒級或者是亞秒級得數(shù)據(jù)響應(yīng)。

不能進行流式計算

流式計算特點是數(shù)據(jù)是源源不斷得計算,并且數(shù)據(jù)是動態(tài)的;而MapReduce作為一個離線計算框架,主要是針對靜態(tài)數(shù)據(jù)集得,數(shù)據(jù)是不能動態(tài)變化得。

0 分享到:
和我們在線交談!