Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)課件 5.2MapReduce工作流程(完)_第1頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)課件 5.2MapReduce工作流程(完)_第2頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)課件 5.2MapReduce工作流程(完)_第3頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)課件 5.2MapReduce工作流程(完)_第4頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)課件 5.2MapReduce工作流程(完)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Hadoop大數(shù)據(jù)項(xiàng)目開發(fā)——MapReduce工作流程目錄content02Reduce過程Map過程0405寫入文件01分片和格式化數(shù)據(jù)源03Shuffle過程MapReduce工作流程概述MapReduce編程簡單且功能強(qiáng)大。專門為并行處理大規(guī)模數(shù)據(jù)而設(shè)計(jì)。對于簡單數(shù)據(jù)處理,只需要執(zhí)行Map任務(wù)。對于復(fù)雜任務(wù),根據(jù)實(shí)際的業(yè)務(wù)需求設(shè)置合適的Reduce任務(wù)數(shù)。MapReduce工作流程MapReduce工作流程第一步:分片和格式化數(shù)據(jù)源將存儲在分布式文件系統(tǒng)中數(shù)據(jù)集切分成獨(dú)立的輸入分片。每一個輸入分片對應(yīng)一個Map任務(wù)(有多少輸入分片就會存在多少M(fèi)ap任務(wù))。輸入分片是邏輯概念。輸入分片中存儲了一些元數(shù)據(jù)信息。輸入分片處理成<key1,value1>形式的數(shù)據(jù),再傳遞給Map任務(wù)。第二步:Map過程TWITTERSKYPEFACEBOOK經(jīng)過map()函數(shù)處理后,獲得一系列<key2,value2>形式的輸出。Map過程利用map()函數(shù)來處理數(shù)據(jù)。map()函數(shù)中具體的數(shù)據(jù)處理方法由用戶自己定義。map()函數(shù)接收<key1,value1>形式的數(shù)據(jù)輸入。1234YOUTUBE第三步:Shuffle過程

Shuffle過程map()函數(shù)的輸出并不會直接交給Reduce任務(wù),而是需要經(jīng)過分區(qū)、排序、合并、溢寫、歸并等處理,將處理后的數(shù)據(jù)作為Reduce任務(wù)的輸入。這一系列處理過程稱為Shuffle。第三步:Shuffle過程

Map的Shuffle過程1.Map端的Shuffle過程(1)map()函數(shù)的輸出并不會立即寫入磁盤,MapReduce會為每個Map任務(wù)分配一個環(huán)形內(nèi)存緩沖區(qū)(bufferinmemory),用于存儲map()函數(shù)的輸出。(2)在將環(huán)形內(nèi)存緩沖區(qū)中的數(shù)據(jù)寫入磁盤之前,需要對數(shù)據(jù)進(jìn)行分區(qū)、排序和合并(可選)操作。第三步:Shuffle過程

Map的Shuffle過程1.Map端的Shuffle過程分區(qū):主要目的是將數(shù)據(jù)均勻地分配給Reduce任務(wù),以實(shí)現(xiàn)MapReduce的負(fù)載均衡。排序:MapReduce的默認(rèn)操作,主要是將Map任務(wù)的輸出按key進(jìn)行排序。每個分區(qū)中的數(shù)據(jù)都是有序的。合并:排序結(jié)束后,合并操作可根據(jù)需求選擇是否要執(zhí)行;合并操作是將具有相同key的<key,value>的value加起來,從而減少溢寫的數(shù)據(jù)量。第三步:Shuffle過程

Map的Shuffle過程1.Map端的Shuffle過程(3)環(huán)形內(nèi)存緩沖區(qū)中的數(shù)據(jù)一旦達(dá)到閾值,后臺線程便開始把數(shù)據(jù)溢寫到本地磁盤的臨時文件(即溢寫文件)中。(4)系統(tǒng)需要將所有溢寫文件中的數(shù)據(jù)進(jìn)行歸并,以生成一個大的溢寫文件。歸并操作就是將相同key的value歸并成一個集合,形成新的鍵值對。(5)文件歸并操作完成后生成最終的Map任務(wù)輸出文件,文件保存在Map任務(wù)所在節(jié)點(diǎn)的本地磁盤上,Map任務(wù)執(zhí)行結(jié)束。第三步:Shuffle過程2.Reduce端的Shuffle過程(1)Map任務(wù)結(jié)束,Reduce任務(wù)啟動相同數(shù)量的復(fù)制線程并行復(fù)制Map任務(wù)的輸出文件。(2)當(dāng)緩存中的數(shù)據(jù)達(dá)到閾值,即需要溢寫到磁盤時,Reduce任務(wù)會將復(fù)制數(shù)據(jù)進(jìn)行歸并排序(MergeSort),生成溢寫文件。

Reduce的Shuffle過程Reduce過程Reduce任務(wù)接收歸并排序后的數(shù)據(jù)流,并對已有序的相同key的鍵值對調(diào)用一次reduce()函數(shù)。Reduce任務(wù)輸入是<key2,list(value2)>形式的中間結(jié)果,輸出的是<key3,value3>形式的計(jì)算結(jié)果。Reduce任務(wù)輸出結(jié)果經(jīng)過輸出格式化后再輸出到文件系統(tǒng)中,并且每個作業(yè)輸出文件默認(rèn)以“part-r-00000”開始,并用后5位數(shù)遞增的方式命名。123

Reduce過程寫入文件MapReduce框架會自動把ReduceTask生成的<key,value>傳入Ou

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論