2023學(xué)年完整公開課版MapReduce概述_第1頁
2023學(xué)年完整公開課版MapReduce概述_第2頁
2023學(xué)年完整公開課版MapReduce概述_第3頁
2023學(xué)年完整公開課版MapReduce概述_第4頁
2023學(xué)年完整公開課版MapReduce概述_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

鄭美容01目錄MapReduce概述02MapReduce優(yōu)缺點(diǎn)MapReduce概述1MapReduce概述

MapReduce是由Google提出的一種并行編程模式,適合于大規(guī)模數(shù)據(jù)集的并行計(jì)算。它提供了一個(gè)統(tǒng)一的并行計(jì)算框架,把并行計(jì)算涉及的諸多系統(tǒng)層面細(xì)節(jié)都交給計(jì)算框架去完成,以此大大簡化了程序員進(jìn)行并行程序設(shè)計(jì)的負(fù)擔(dān)。MapReduce的簡單易用性使其成為目前大數(shù)據(jù)處理技術(shù)中最成功的主流并行計(jì)算模式。HadoopMapReduce是MapReduce并行編程模式的開發(fā)實(shí)現(xiàn),運(yùn)行在HDFS之上。MapReduce的Map講解Map任務(wù)下圖所示:MapReduce的Map講解map任務(wù)最終將其輸出寫入本地硬盤,而非HDFS。這是為什么?因?yàn)閙ap的輸出是中間結(jié)果:該中間結(jié)果由reduce任務(wù)處理后才產(chǎn)生最終輸出結(jié)果,而且一旦作業(yè)完成,map的輸出結(jié)果就可以刪除。因此,如果把它存儲在HDFS中并實(shí)現(xiàn)備份,難免有些小題大做。如果該節(jié)點(diǎn)上運(yùn)行的map任務(wù)在將map中間結(jié)果傳送給reduce任務(wù)之前失敗,Hadoop將在另一個(gè)節(jié)點(diǎn)上重新運(yùn)行這個(gè)map任務(wù)以再次構(gòu)建map中間結(jié)果。maptask輸出結(jié)果首先會進(jìn)入一個(gè)緩沖區(qū)內(nèi),這個(gè)緩沖區(qū)的大小是100MB,如果maptask內(nèi)容太大,是很容易撐爆內(nèi)存的,所以會有一個(gè)守護(hù)進(jìn)程,每當(dāng)緩沖區(qū)到達(dá)上限80%的時(shí)候,就會啟動一個(gè)Spill(溢寫)進(jìn)程,它的作用是把內(nèi)存里的maptask的結(jié)果寫入到磁盤。這里值得注意的是,溢寫程序是單獨(dú)的一個(gè)進(jìn)程,不會影響maptask的繼續(xù)輸出。當(dāng)溢寫線程啟動后,需要對這80MB空間內(nèi)的key做排序(Sort)。排序是MapReduce模型默認(rèn)的行為,這里的排序也是對序列化的字節(jié)做的排序。MapReduce的Reduce講解

Reduce任務(wù)如下圖所示:MapReduce的Reduce講解reduce任務(wù)并不具備數(shù)據(jù)本地化的優(yōu)勢,單個(gè)reduce任務(wù)的輸入通常來自于所有mapper的輸出。在本例中,我們僅有一個(gè)reduce任務(wù),其輸入是所有map任務(wù)的輸出。因此,排過序的map輸出需通過網(wǎng)絡(luò)傳輸發(fā)送到運(yùn)行reduce任務(wù)的節(jié)點(diǎn)。數(shù)據(jù)在reduce端合并,然后由用戶定義的reduce函數(shù)處理。reduce的輸出通常存儲在HDFS中以實(shí)現(xiàn)可靠存儲。對于每個(gè)reduce輸出的HDFS塊,第一個(gè)副本存儲在本地節(jié)點(diǎn)上,其他副本存儲在其他機(jī)架節(jié)點(diǎn)中。因此,將reduce的輸出寫入HDFS確實(shí)需要占用網(wǎng)絡(luò)帶寬,但這與正常的HDFS流水線寫入的消耗一樣。MapReduce優(yōu)點(diǎn)mapreduce易于編程它簡單的實(shí)現(xiàn)了一些接口,就可以完成一個(gè)分布式程序,這個(gè)分布式程序可以分布到大量廉價(jià)的pc機(jī)器上運(yùn)行。良好的擴(kuò)展性當(dāng)你的計(jì)算資源不能得到滿足的時(shí)候,你可以通過簡單的增加機(jī)器來擴(kuò)展它的計(jì)算能力。高容錯性mapreduce設(shè)計(jì)的初衷就是使程序能夠部署在廉價(jià)的pc機(jī)器上,這就要求它具有很高的容錯性。高容錯性可以實(shí)現(xiàn)上千臺服務(wù)器集群并發(fā)工作,提供數(shù)據(jù)處理能力。MapReduce缺點(diǎn)不擅長實(shí)時(shí)計(jì)算mapreduce無法像mysql一樣,在毫秒或者秒級內(nèi)返回結(jié)果。不擅長流式計(jì)算流式計(jì)算的輸入數(shù)據(jù)是動態(tài)的,而mapreduce的輸入數(shù)據(jù)集是靜態(tài)的,不能動態(tài)變化。這是因?yàn)閙apreduce自身的設(shè)計(jì)特點(diǎn)決定了數(shù)據(jù)源必須是靜態(tài)的。不擅長DAG(有向圖)計(jì)算多個(gè)應(yīng)用程序存在依賴關(guān)系,后一個(gè)應(yīng)用程序的輸入為前一個(gè)的輸出。在這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論