




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
初步了解批處理計(jì)算學(xué)習(xí)目標(biāo)2知識(shí)目標(biāo)●什么是批處理計(jì)算●MapReduce概述能力目標(biāo)●了解批處理計(jì)算●熟知分布式計(jì)算框架學(xué)習(xí)任務(wù)3了解批處理計(jì)算初步探索分布式計(jì)算框架初步探索Map、Reduce函數(shù)掌握分布式計(jì)算框架什么是批處理計(jì)算MapReduce概述4Map、Reduce函數(shù)目錄什么是批處理計(jì)算5針對(duì)大規(guī)模數(shù)據(jù)的批量處理?!鬗apReduce可以并行執(zhí)行大規(guī)模數(shù)據(jù)處理任務(wù),用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算(單輸入、兩階段、粗粒度數(shù)據(jù)并行的分布式框架)。它將復(fù)雜的、運(yùn)行于大規(guī)模集群上的并行計(jì)算過程高度抽象到了兩個(gè)函數(shù)——Map和Reduce,并把一個(gè)大數(shù)據(jù)集切分成多個(gè)小數(shù)據(jù)集,分布到不同的機(jī)器上進(jìn)行并行處理,極大地方便了分布式編程工作。在MapReduce中,數(shù)據(jù)流從一個(gè)穩(wěn)定的來源,進(jìn)行一系列加工處理后,流出到一個(gè)穩(wěn)定的文件系統(tǒng)(如HDFS)。6◆Spark是一個(gè)針對(duì)超大數(shù)據(jù)集合的低延遲的集群分布式計(jì)算系統(tǒng)。它啟用了內(nèi)存分布數(shù)據(jù)集,可以提供交互式查詢、優(yōu)化迭代工作負(fù)載。在MapReduce中,數(shù)據(jù)流從一個(gè)穩(wěn)定的來源,進(jìn)行一系列加工處理后,流出到一個(gè)穩(wěn)定的文件系統(tǒng)(如HDFS)。而Spark則用內(nèi)存替代HDFS或本地磁盤來存儲(chǔ)中間結(jié)果,因此要快很多。什么是批處理計(jì)算7MapReduce概述MapReduce是一種編程模型(也稱為計(jì)算模型),用以大數(shù)據(jù)量地批處理計(jì)算。(如MapReduce處理示例圖所示),MapReduce的思想是將批量處理的任務(wù)主要分成兩個(gè)階段(Map和Reduce階段),所謂的Map階段就是把數(shù)據(jù)生成“鍵-值”對(duì),按鍵排序。中間有一步叫shuffle,把同樣的key運(yùn)輸至同個(gè)reducer上面去。在reducer上,因?yàn)槎际峭粋€(gè)key,就直接可以做聚合(算出總和),最后把結(jié)果輸出到HDPS上。對(duì)于應(yīng)用開發(fā)者來說,你需要做的就是編寫Map和Reduce函數(shù),像中間的排序,shuffle網(wǎng)絡(luò)傳輸、容錯(cuò)處理等,框架已經(jīng)幫你做好了。8MapReduce概述MapReduce處理示例MapReduce的思想和人口普查的做法類似。人口普查委員會(huì)給每個(gè)城市分配人口普查工作人員(Map任務(wù)),所有人員并行地統(tǒng)計(jì)當(dāng)?shù)氐娜丝跀?shù)據(jù),最后各個(gè)人員的統(tǒng)計(jì)數(shù)據(jù)歸約(Reduce任務(wù))到總的人口普查數(shù)字。(如MapReduce處理示例圖所示),是計(jì)算各個(gè)單詞出現(xiàn)的次數(shù)。9MapReduce概述MapReduce通常將輸入的數(shù)據(jù)集分割為一些獨(dú)立的數(shù)據(jù)塊(splitting步驟),然后由一些Map任務(wù)(task)在服務(wù)器集群上以完全并行的方式進(jìn)行處理,這些Map任務(wù)的計(jì)算結(jié)果最后通過Reduce任務(wù)合并在一起來計(jì)算最終的結(jié)果。具體來說,Map對(duì)數(shù)據(jù)進(jìn)行指定的操作,生成“鍵-值”對(duì)形式的中間結(jié)果(Mapping步驟,“Deer,1”就是一個(gè)鍵值對(duì),這個(gè)中間結(jié)果-般存放在文件系統(tǒng)上)。MapReduce框架對(duì)中間結(jié)果按照鍵值排序(Shuffling步驟),Reduce則對(duì)中間結(jié)果中相同“鍵”的所有“值”進(jìn)行規(guī)約(Reducing步驟),以得到最終結(jié)果。最終結(jié)果一般也存放在文件系統(tǒng)上(如Final、result步驟)。MapReduce框架負(fù)責(zé)任務(wù)的調(diào)度和監(jiān)控,并重新執(zhí)行這些失敗的任務(wù)。MapReduce非常適合在大量計(jì)算機(jī)組成的分布式并行環(huán)境里進(jìn)行數(shù)據(jù)處理。10MapReduce概述如圖顯示了個(gè)MapReduce的使用場(chǎng)景,圖中各主要要素說明如下。11Map、Reduce函數(shù)◆Map函數(shù):接受一個(gè)“鍵-值”對(duì),產(chǎn)生一組中間“鍵值"對(duì)。MapReduce框架有sort(排序)和shuffle(發(fā)送)操作,sort會(huì)按照鍵來對(duì)map函數(shù)所產(chǎn)生的鍵-值對(duì)進(jìn)行排序(如圖MapReduce處理示例所示的排序結(jié)果),然后shuffle將所有具有相同鍵的“鍵-值”對(duì)發(fā)送給同一個(gè)reduce函數(shù)。12ClassMappermethodmap(Stringinput_key,Stringinput_value): //input_key:報(bào)紙文件名稱 //input_value:報(bào)紙文件foreachwordwininput_value: EmitIntermediate(w,”1”);//記錄每個(gè)詞的出現(xiàn)(出現(xiàn)次數(shù)為1)在上面的代碼中,map函數(shù)接收的鍵是文件名(假定文件名是日期,如:20190312則表明是2019年6月12日的人民日?qǐng)?bào)電子版文件),值是文件內(nèi)容,map函數(shù)逐個(gè)遍歷詞語(yǔ),每遇到一個(gè)詞w,就產(chǎn)生一個(gè)中間“鍵-值”對(duì)<w,”1”>,這個(gè)表示這個(gè)w詞出現(xiàn)了一次。Map、Reduce函數(shù)13◆Reduce函數(shù)接受一個(gè)鍵(一個(gè)詞),以及相關(guān)的一組值(這一組值是所有Map對(duì)于這個(gè)詞計(jì)算出來的頻數(shù)的一個(gè)集合),整個(gè)輸入數(shù)據(jù)也是一個(gè)“鍵-值”對(duì)。將這組值進(jìn)行合并產(chǎn)生一組規(guī)模更小的值(通常只有一個(gè)或零個(gè)值)。在我們這個(gè)例子中,是將值集合中的頻數(shù)進(jìn)行求和,然后記錄每個(gè)詞和這個(gè)詞出現(xiàn)的總頻數(shù)。Map、Reduce函數(shù)14ClassReducerMethodreduce(Stringoutput_key,Iteratorintermediate_value)://output_key:一個(gè)詞//intermediate_value:該詞對(duì)應(yīng)的所有出現(xiàn)次數(shù)的列表Intresult=0;Foreachvinintermediate_value:Result+=ParseInt(v);//次數(shù)累加Emit(AsString(result));//記錄最終累加結(jié)果Map、Reduce函數(shù)MapReduce將鍵相同(都是詞w)的“鍵-值”對(duì)傳給reduce函數(shù),這樣reduce函數(shù)接受的鍵就是單詞w,值是字符串“1”的列表(鍵為w的鍵-值對(duì)的個(gè)數(shù)),然后將這些“1”累加就得到單詞w的出現(xiàn)次數(shù)。最后存儲(chǔ)在HDFS上。15MapReduce支持C/C++、Java、Ruby、Perl和Python編程語(yǔ)言。開發(fā)人員可以使用MapReduce庫(kù)來創(chuàng)建任務(wù)。至于節(jié)點(diǎn)之間的通信和協(xié)調(diào),輸入數(shù)據(jù)集的切割,在不同機(jī)器之間的程序執(zhí)行調(diào)度,處理錯(cuò)誤等,這些都由框架完成,開發(fā)人員無須處理。Map和Reduce函數(shù)會(huì)自動(dòng)在多個(gè)服務(wù)器節(jié)點(diǎn)上自動(dòng)并行執(zhí)行。即使開發(fā)人員完全沒有并行和分布式系統(tǒng)的經(jīng)驗(yàn)和知識(shí),也能輕松地利用好大型分布式系統(tǒng)的資源。MapReduce革新
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省上饒市廣豐縣2025屆四下數(shù)學(xué)期末檢測(cè)試題含解析
- 產(chǎn)業(yè)經(jīng)濟(jì)學(xué)與2025年相關(guān)知識(shí)考試試卷及答案
- 2025年特殊教育教師資格考試試題及答案
- 2025年文化產(chǎn)業(yè)管理職業(yè)能力測(cè)評(píng)試卷及答案
- 咸陽(yáng)師范學(xué)院《免疫與病原生物學(xué)實(shí)驗(yàn)Ⅲ》2023-2024學(xué)年第二學(xué)期期末試卷
- 九州職業(yè)技術(shù)學(xué)院《學(xué)術(shù)英語(yǔ)閱讀與寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年英語(yǔ)專業(yè)八級(jí)考試試卷及答案
- 潛江市2024-2025學(xué)年初三中考模擬最后一卷生物試題含解析
- 遼寧省東港地區(qū)市級(jí)名校2025年初三3月中考適應(yīng)性調(diào)研考試數(shù)學(xué)試題試卷含解析
- 高端私人直升機(jī)航拍影像作品版權(quán)授權(quán)及收益分成協(xié)議
- 《先兆流產(chǎn)中西醫(yī)結(jié)合診療指南》
- CART細(xì)胞免疫療法課件
- 中國(guó)鐵路沈陽(yáng)局集團(tuán)有限公司招聘筆試真題2023
- 2024-2025學(xué)年上學(xué)期武漢小學(xué)語(yǔ)文六年級(jí)期末模擬試卷
- 2025屆中考英語(yǔ)二輪復(fù)習(xí)??碱}型專練:完形填空(含解析)
- 【MOOC】當(dāng)代社會(huì)中的科學(xué)與技術(shù)-南京大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- CAD教程-AutoCAD2024全套教程
- 2024年貴州省貴陽(yáng)市中考地理試卷(附答案)
- (完整版)水利部考試歷年真題-水利基礎(chǔ)知識(shí)試題集
- 《常州紅梅公園》課件
- 上海市2024年中考化學(xué)真題(含答案)
評(píng)論
0/150
提交評(píng)論