




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章分布式計(jì)算框架MapReduce《大數(shù)據(jù)技術(shù)基礎(chǔ)教程》學(xué)習(xí)目標(biāo)/Target了解MapReduce簡(jiǎn)介
理解MapReduce計(jì)算模型理解MapReduce工作原理掌握MapReduce編程實(shí)踐章節(jié)概述/
SummaryMapReduce是Hadoop的一個(gè)核心組成框架,使用該框架編寫的應(yīng)用程序能夠以一種可靠的、容錯(cuò)的方式并行處理大型集群(數(shù)千個(gè)節(jié)點(diǎn))上的大量數(shù)據(jù)(TB級(jí)別以上),也可以對(duì)大數(shù)據(jù)進(jìn)行加工、挖掘和優(yōu)化等處理。目錄/Contents010203MapReduce簡(jiǎn)介MapReduce計(jì)算模型MapReduce工作原理04MapReduce編程實(shí)踐MapReduce簡(jiǎn)介11.1MapReduce簡(jiǎn)介Hadoop的MapReduce核?技術(shù)起源于?歌在2004年發(fā)表的關(guān)于MapReduce系統(tǒng)的論?介紹。Hadoop實(shí)現(xiàn)了Google的MapReduce編程模型,提供了簡(jiǎn)單易用的編程接口,也提供了它自己的分布式文件系統(tǒng)HDFS,與Google不同的是,Hadoop是開源的,任何人都可以使用這個(gè)框架來進(jìn)行并行編程。MapReduce將復(fù)雜的、運(yùn)行于大規(guī)模集群上的并行計(jì)算過程高度地抽象到了兩個(gè)函數(shù):Map和Reduce。概念“Map(映射)”和“Reduce(歸約)”,以及它們的主要思想,都是從函數(shù)式編程語言里借來的,同時(shí)包含了從矢量編程語言里借來的特性。MapReduce計(jì)算模型22.1MapReduce計(jì)算模型在Hadoop中,用于執(zhí)行計(jì)算任務(wù)(MapReduce任務(wù))的機(jī)器有兩個(gè)角色:一個(gè)是JobTracker,一個(gè)是TaskTracker,前者用于管理和調(diào)度工作,后者用于執(zhí)行工作。每次計(jì)算任務(wù)都可以分為兩個(gè)階段,Map階段和Reduce階段。其中,Map階段接收一組鍵值對(duì)模式<key,Value>的輸入并產(chǎn)生同樣是鍵值對(duì)模式的另一個(gè)或一批<key,Value>的中間輸出;Reduce階段負(fù)責(zé)接收Map產(chǎn)生的中間輸出<key,Value>,然后對(duì)這個(gè)結(jié)果進(jìn)行處理并輸出結(jié)果。2.1MapReduce計(jì)算模型MapReduce工作原理33.11.x架構(gòu)MapReduce1.x采用Master/Slave架構(gòu),由全局唯一的Jobtracker和多個(gè)TaskTacker組成,并且在Client中提供一系列的api供編程和管理使用。3.11.x架構(gòu)MapReduce的完整流程為:第一步:讀取文件,解析成為<key,value>對(duì);第二步:自定義map邏輯接收<k1,v1>,轉(zhuǎn)換成為新的<k2,v2>輸出;第三步:分區(qū)Partition。將相同key的數(shù)據(jù)發(fā)送到同一個(gè)reduce里面去;第四步:排序,map階段分區(qū)內(nèi)的數(shù)據(jù)進(jìn)行排序;第五步:combiner。調(diào)優(yōu)過程,對(duì)數(shù)據(jù)進(jìn)行map階段的合并;第六步:將環(huán)形緩沖區(qū)的數(shù)據(jù)進(jìn)行溢寫到本地磁盤小文件;第七步:歸并排序,對(duì)本地磁盤溢寫小文件進(jìn)行歸并排序;3.11.x架構(gòu)MapReduce的完整流程為:第九步:reduceTask啟動(dòng)線程拉取屬于自己分區(qū)的數(shù)據(jù);第十步:從mapTask拉取回來的數(shù)據(jù)繼續(xù)進(jìn)行歸并排序;第十一步:進(jìn)行g(shù)roupingComparator分組操作;第十二步:調(diào)用reduce邏輯,寫出數(shù)據(jù);第十三步:通過outputFormat進(jìn)行數(shù)據(jù)輸出,寫到文件,一個(gè)reduceTask對(duì)應(yīng)一個(gè)文件。3.22.x架構(gòu)(YARN架構(gòu))3.22.x架構(gòu)(YARN架構(gòu))①用戶編寫客戶端應(yīng)用程序,向YARN提交應(yīng)用程序,提交的內(nèi)容包括ApplicationMaster程序、啟動(dòng)ApplicationMaster的命令、用戶程序等。②YARN中的ResourceManager負(fù)責(zé)接收和處理來自客戶端的請(qǐng)求。接到客戶端應(yīng)用程序請(qǐng)求后,ResourceManager里面的調(diào)度器會(huì)為應(yīng)用程序分配一個(gè)容器。同時(shí),ResourceManager的應(yīng)用程序管理器會(huì)與該容器所在的NodeManager通信,為該應(yīng)用程序在該容器中啟動(dòng)一個(gè)ApplicationMaster(即圖6-5中的“MRAppMstr”)。③ApplicationMaster被創(chuàng)建后會(huì)首先向ResourceManager注冊(cè),從而使得用戶可以通過ResourceManager來直接查看應(yīng)用程序的運(yùn)行狀態(tài)。接下來的步驟4~7是具體的應(yīng)用程序執(zhí)行步驟。3.22.x架構(gòu)(YARN架構(gòu))④ApplicationMaster采用輪詢的方式通過RPC協(xié)議向ResourceManager申請(qǐng)資源。⑤ResourceManager以“容器”的形式向提出申請(qǐng)的ApplicationMaster分配資源,一旦ApplicationMaster申請(qǐng)到資源后,就會(huì)與該容器所在的NodeManager進(jìn)行通信,要求它啟動(dòng)任務(wù)。⑥當(dāng)ApplicationMaster要求容器啟動(dòng)任務(wù)時(shí),它會(huì)為任務(wù)設(shè)置好運(yùn)行環(huán)境(包括環(huán)境變量、JAR包、二進(jìn)制程序等),然后將任務(wù)啟動(dòng)命令寫到一個(gè)腳本中,最后通過在容器中運(yùn)行該腳本來啟動(dòng)任務(wù)。⑦各個(gè)任務(wù)通過某個(gè)RPC協(xié)議向ApplicationMaster匯報(bào)自己的狀態(tài)和進(jìn)度,讓ApplicationMaster可以隨時(shí)掌握各個(gè)任務(wù)的運(yùn)行狀態(tài),從而可以在任務(wù)失敗時(shí)重新啟動(dòng)任務(wù)。3.22.x架構(gòu)(YARN架構(gòu))⑧應(yīng)用程序運(yùn)行完成后,ApplicationMaster向ResourceManager的應(yīng)用程序管理器注銷并關(guān)閉自己。若ApplicationMaster因故失敗,ResourceManager中的應(yīng)用程序管理器會(huì)監(jiān)測(cè)到失敗的情形,然后將其重新啟動(dòng),直到所有的任務(wù)執(zhí)行完畢。MapReduce編程實(shí)踐44.1MapReduce程序編寫步驟(1)Maven項(xiàng)目的pom.xml文件的配置(2)新建Mapper類4.1MapReduce程序編寫步驟(3)新建Reducer類(4)新建程序執(zhí)行主類(5)提交程序到集群4.2MapReduce編寫單詞統(tǒng)計(jì)程序4.2MapReduce編寫單詞統(tǒng)計(jì)程序4.2MapReduce編寫單詞統(tǒng)計(jì)程序4.2MapReduce編寫單詞統(tǒng)計(jì)程序4.2MapReduce編寫單詞統(tǒng)計(jì)程序4.2MapReduce編寫單詞統(tǒng)計(jì)程序本章小結(jié)本章主要介紹了分布式計(jì)算框架MapReduce,它是Hadoop的一個(gè)核心組成框架,概念“Map(映射)”和“Reduce(歸約)”以及它們的主要思想,都是從函數(shù)式編程語言里借用而來的,同時(shí)也包含了從矢量編程語言里借來的特性。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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC TS 62600-101:2024 EN Marine energy - Wave,tidal and other water current converters - Part 101: Wave energy resource assessment and characterization
- 2025-2030年中國(guó)隔振器市場(chǎng)供需現(xiàn)狀規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)防脫發(fā)市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)鎳鋅電池市場(chǎng)競(jìng)爭(zhēng)格局及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)車庫(kù)門市場(chǎng)運(yùn)營(yíng)狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)貴金屬冶煉市場(chǎng)運(yùn)營(yíng)狀況規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)蜂膠市場(chǎng)運(yùn)行現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)藥酒市場(chǎng)發(fā)展現(xiàn)狀與投資規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)胡蘿卜素行業(yè)運(yùn)營(yíng)狀況及投資前景預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)耐火型電纜產(chǎn)業(yè)十三五規(guī)劃及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2024加油站操作員安全培訓(xùn)考試題及答案
- GB/T 5267.5-2024緊固件表面處理第5部分:熱擴(kuò)散滲鋅層
- 全國(guó)醫(yī)療服務(wù)項(xiàng)目技術(shù)規(guī)范
- GB 17353-2024摩托車和輕便摩托車防盜裝置
- 四環(huán)素類抗菌藥物兒科臨床應(yīng)用專家共識(shí)(2024年版)解讀
- 重點(diǎn)語法清單2024-2025學(xué)年人教版英語八年級(jí)上冊(cè)
- 金屬包裝容器生產(chǎn)數(shù)據(jù)分析考核試卷
- 寵物學(xué)概論課程設(shè)計(jì)
- 2024年全國(guó)統(tǒng)一高考數(shù)學(xué)試卷(理科)甲卷含答案
- 排水管網(wǎng)溯源排查項(xiàng)目專項(xiàng)培訓(xùn)
- 譯林牛津版八年級(jí)下冊(cè)英語全冊(cè)課件
評(píng)論
0/150
提交評(píng)論