xxxxx内射xxxx,人人妻人人澡人人爽偷拍台湾,国内揄拍高清国内精品对白,在线精品视频一区二区

新聞中心

首頁 > 新聞中心 > 行業(yè)新聞 >

google文件系統(tǒng)GFS分布式數(shù)據(jù)處理MapReduce

時間:2016-11-09 10:40:23   閱讀:

      MapReduce是Google提出的一個軟件架構,是一種處理海量數(shù)據(jù)的并行編程模式,用于大規(guī)模數(shù)據(jù)集(通常大于1TB)的并行運算。“Map (映射)”、“Reduce (化簡)”的概念和主要思想,都是從函數(shù)式編程語言和矢量編程語言借鑒來的。正是由于MapReduce有函數(shù)式和矢量編程語言的共性,使得這種編程模式特別適合于非結(jié)構化和結(jié)構化的海量數(shù)據(jù)的搜索、挖掘、分析與機器智能學習等。
 
產(chǎn)生背景
 
      MapReduce這種并行編程模式思想最早是在1995年提出的,首次提出了“map”和
“fold”的概念,和Google現(xiàn)在所使用的“Map”和“Reduce”思想相吻合。
 
      與傳統(tǒng)的分布式程序設計相比,MapReduce封裝了并行處理、容錯處理、本地化計算、負載均衡等細節(jié),還提供了一個簡單而強大的接口。通過這個接口,可以把大尺度的計算自動地并發(fā)和分布執(zhí)行,使編程變得非常容易。另外,MapReduce也具有較好的通用性,大量不同的問題都可以簡單地通過MapReduce來解決。
 
      MapReduce把對數(shù)據(jù)集的大規(guī)模操作,分發(fā)給一個主節(jié)點管理下的各分節(jié)點共同完成,通過這種方式實現(xiàn)任務的可靠執(zhí)行與容錯機制。在每個時間周期,主節(jié)點都會對分節(jié)點的工作狀態(tài)進行標記,一旦分節(jié)點狀態(tài)標記為死亡狀態(tài),則這個節(jié)點的所有任務都將分 配給其他分節(jié)點重新執(zhí)行。
 
      據(jù)相關統(tǒng)計,每使用一次Google搜索引擎,Google的后臺服務器就要進行1011次運算。這么龐大的運算量,如果沒有好的負載均衡機制,有些服務器租用的利用率會很低,有些則會夢荷太重,有些甚至可能死機,這些都會影響系統(tǒng)對用戶的服務質(zhì)量。而使用MapReduce這種編程i式,就保持了服務器之間的均衡,提高了整體效率。
 
編程模型
      MapReduce的運行模型如圖2-2所示。圖中有M個Map操作和R個Reduce操作。
 
\
 
      簡單地說,—個M函數(shù)就是對一部分原始數(shù)據(jù)進行指定的操作。每個Map操作都針對不同的原始數(shù)據(jù), 因此Map與Map之間是互相獨立的,這使得它們可以充分并行化。一個Reduce操作就是對每個Map所產(chǎn)生的一部分中間結(jié)果進行合并操作,每個Reduce所處理的Map中間結(jié)果是互不交叉的,所有Reduce產(chǎn)生的最終結(jié)果經(jīng)過簡單連接就形成了完整的結(jié)果集,因此Reduce也可以在并行環(huán)境下執(zhí)行。
 
      在編程的時候,開發(fā)者需要編寫兩個主要函數(shù):
 
\
 
      Map和Reduce的輸入?yún)?shù)和輸出結(jié)果根據(jù)應用的不同而有所不同。Map的輸入?yún)?shù)是in_key和in_value,它指明了Map需要處理的原始數(shù)據(jù)是哪些。Map的輸出結(jié)果是一組<可以,value>對,這是經(jīng)過Map操作后所產(chǎn)生的中間結(jié)果。在進行Reduce操作之前,系統(tǒng)已經(jīng)將所有Map產(chǎn)生的中間結(jié)果進行了歸類處理,使得相同key對應的一系列value能夠集結(jié)在一起提供給一個Reduce進行歸并處理,也就是說,Reduce的輸入?yún)?shù)是(key, [value1,…,valuem])。Reduce的工作是需要對這些對應相同key的value值進行歸并處理,最終形成(key,final_value)的結(jié)果。這樣,一個Reduce處理了一個key,所有Reduce的結(jié)果并在一起就是結(jié)果。
 
      例如,假設我們想用MapReduce來計算一個大型文本文件中各個單詞出現(xiàn)的次數(shù), Map的輸入?yún)?shù)指明了需要處理哪部分數(shù)據(jù),以“<在文本中的起始位置,需要處理的數(shù)據(jù)長度>”表示,經(jīng)過Map處理,形成一批中間結(jié)果“<單詞,出現(xiàn)次數(shù)>。而Reduce函數(shù)處理中間結(jié)果,將相同單詞出現(xiàn)的次數(shù)進行累加,得到每個單詞總的出現(xiàn)次數(shù)。
?

閩公網(wǎng)安備 35010002000114號