![大數(shù)據(jù)技術基礎教程 課件 第6章 分布式計算框架MapReduce_第1頁](http://file4.renrendoc.com/view2/M02/25/0D/wKhkFmYh5l6ACWOPAADItnmGlHs731.jpg)
![大數(shù)據(jù)技術基礎教程 課件 第6章 分布式計算框架MapReduce_第2頁](http://file4.renrendoc.com/view2/M02/25/0D/wKhkFmYh5l6ACWOPAADItnmGlHs7312.jpg)
![大數(shù)據(jù)技術基礎教程 課件 第6章 分布式計算框架MapReduce_第3頁](http://file4.renrendoc.com/view2/M02/25/0D/wKhkFmYh5l6ACWOPAADItnmGlHs7313.jpg)
![大數(shù)據(jù)技術基礎教程 課件 第6章 分布式計算框架MapReduce_第4頁](http://file4.renrendoc.com/view2/M02/25/0D/wKhkFmYh5l6ACWOPAADItnmGlHs7314.jpg)
![大數(shù)據(jù)技術基礎教程 課件 第6章 分布式計算框架MapReduce_第5頁](http://file4.renrendoc.com/view2/M02/25/0D/wKhkFmYh5l6ACWOPAADItnmGlHs7315.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章分布式計算框架MapReduce《大數(shù)據(jù)技術基礎教程》學習目標/Target了解MapReduce簡介
理解MapReduce計算模型理解MapReduce工作原理掌握MapReduce編程實踐章節(jié)概述/
SummaryMapReduce是Hadoop的一個核心組成框架,使用該框架編寫的應用程序能夠以一種可靠的、容錯的方式并行處理大型集群(數(shù)千個節(jié)點)上的大量數(shù)據(jù)(TB級別以上),也可以對大數(shù)據(jù)進行加工、挖掘和優(yōu)化等處理。目錄/Contents010203MapReduce簡介MapReduce計算模型MapReduce工作原理04MapReduce編程實踐MapReduce簡介11.1MapReduce簡介Hadoop的MapReduce核?技術起源于?歌在2004年發(fā)表的關于MapReduce系統(tǒng)的論?介紹。Hadoop實現(xiàn)了Google的MapReduce編程模型,提供了簡單易用的編程接口,也提供了它自己的分布式文件系統(tǒng)HDFS,與Google不同的是,Hadoop是開源的,任何人都可以使用這個框架來進行并行編程。MapReduce將復雜的、運行于大規(guī)模集群上的并行計算過程高度地抽象到了兩個函數(shù):Map和Reduce。概念“Map(映射)”和“Reduce(歸約)”,以及它們的主要思想,都是從函數(shù)式編程語言里借來的,同時包含了從矢量編程語言里借來的特性。MapReduce計算模型22.1MapReduce計算模型在Hadoop中,用于執(zhí)行計算任務(MapReduce任務)的機器有兩個角色:一個是JobTracker,一個是TaskTracker,前者用于管理和調度工作,后者用于執(zhí)行工作。每次計算任務都可以分為兩個階段,Map階段和Reduce階段。其中,Map階段接收一組鍵值對模式<key,Value>的輸入并產生同樣是鍵值對模式的另一個或一批<key,Value>的中間輸出;Reduce階段負責接收Map產生的中間輸出<key,Value>,然后對這個結果進行處理并輸出結果。2.1MapReduce計算模型MapReduce工作原理33.11.x架構MapReduce1.x采用Master/Slave架構,由全局唯一的Jobtracker和多個TaskTacker組成,并且在Client中提供一系列的api供編程和管理使用。3.11.x架構MapReduce的完整流程為:第一步:讀取文件,解析成為<key,value>對;第二步:自定義map邏輯接收<k1,v1>,轉換成為新的<k2,v2>輸出;第三步:分區(qū)Partition。將相同key的數(shù)據(jù)發(fā)送到同一個reduce里面去;第四步:排序,map階段分區(qū)內的數(shù)據(jù)進行排序;第五步:combiner。調優(yōu)過程,對數(shù)據(jù)進行map階段的合并;第六步:將環(huán)形緩沖區(qū)的數(shù)據(jù)進行溢寫到本地磁盤小文件;第七步:歸并排序,對本地磁盤溢寫小文件進行歸并排序;3.11.x架構MapReduce的完整流程為:第九步:reduceTask啟動線程拉取屬于自己分區(qū)的數(shù)據(jù);第十步:從mapTask拉取回來的數(shù)據(jù)繼續(xù)進行歸并排序;第十一步:進行groupingComparator分組操作;第十二步:調用reduce邏輯,寫出數(shù)據(jù);第十三步:通過outputFormat進行數(shù)據(jù)輸出,寫到文件,一個reduceTask對應一個文件。3.22.x架構(YARN架構)3.22.x架構(YARN架構)①用戶編寫客戶端應用程序,向YARN提交應用程序,提交的內容包括ApplicationMaster程序、啟動ApplicationMaster的命令、用戶程序等。②YARN中的ResourceManager負責接收和處理來自客戶端的請求。接到客戶端應用程序請求后,ResourceManager里面的調度器會為應用程序分配一個容器。同時,ResourceManager的應用程序管理器會與該容器所在的NodeManager通信,為該應用程序在該容器中啟動一個ApplicationMaster(即圖6-5中的“MRAppMstr”)。③ApplicationMaster被創(chuàng)建后會首先向ResourceManager注冊,從而使得用戶可以通過ResourceManager來直接查看應用程序的運行狀態(tài)。接下來的步驟4~7是具體的應用程序執(zhí)行步驟。3.22.x架構(YARN架構)④ApplicationMaster采用輪詢的方式通過RPC協(xié)議向ResourceManager申請資源。⑤ResourceManager以“容器”的形式向提出申請的ApplicationMaster分配資源,一旦ApplicationMaster申請到資源后,就會與該容器所在的NodeManager進行通信,要求它啟動任務。⑥當ApplicationMaster要求容器啟動任務時,它會為任務設置好運行環(huán)境(包括環(huán)境變量、JAR包、二進制程序等),然后將任務啟動命令寫到一個腳本中,最后通過在容器中運行該腳本來啟動任務。⑦各個任務通過某個RPC協(xié)議向ApplicationMaster匯報自己的狀態(tài)和進度,讓ApplicationMaster可以隨時掌握各個任務的運行狀態(tài),從而可以在任務失敗時重新啟動任務。3.22.x架構(YARN架構)⑧應用程序運行完成后,ApplicationMaster向ResourceManager的應用程序管理器注銷并關閉自己。若ApplicationMaster因故失敗,ResourceManager中的應用程序管理器會監(jiān)測到失敗的情形,然后將其重新啟動,直到所有的任務執(zhí)行完畢。MapReduce編程實踐44.1MapReduce程序編寫步驟(1)Maven項目的pom.xml文件的配置(2)新建Mapper類4.1MapReduce程序編寫步驟(3)新建Reducer類(4)新建程序執(zhí)行主類(5)提交程序到集群4.2MapReduce編寫單詞統(tǒng)計程序4.2MapReduce編寫單詞統(tǒng)計程序4.2MapReduce編寫單詞統(tǒng)計程序4.2MapReduce編寫單詞統(tǒng)計程序4.2MapReduce編寫單詞統(tǒng)計程序4.2MapReduce編寫單詞統(tǒng)計程序本章小結本章主要介紹了分布式計算框架MapReduce,它是Hadoop的一個核心組成框架,概念“Map(映射)”和“Reduce(歸約)”以及它們的主要思想,都是從函數(shù)式編程語言里借用而來的,同時也包含了從矢量編程語言里借來的特性。MapReduce極大地方便了編程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)臨時用工合同范本
- 2025乳化瀝青灑布施工合同
- 藥材抵押借款合同模板
- 《大學物理(上冊)》課件-第1章
- 2025-2030全球車輛燃油油位計行業(yè)調研及趨勢分析報告
- 2025-2030全球電積銅行業(yè)調研及趨勢分析報告
- 2025年全球及中國直接空氣捕獲和儲存(DACS)行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球多層土壤傳感器行業(yè)調研及趨勢分析報告
- 2025年全球及中國阻燃塑料薄膜和片材行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球醫(yī)用手指康復訓練儀行業(yè)調研及趨勢分析報告
- 2025年度院感管理工作計劃(后附表格版)
- 勵志課件-如何做好本職工作
- 化肥銷售工作計劃
- 2024浙江華數(shù)廣電網絡股份限公司招聘精英18人易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年山東省濟南市中考英語試題卷(含答案解析)
- 2024年社區(qū)警務規(guī)范考試題庫
- 2025中考英語作文預測:19個熱點話題及范文
- 第10講 牛頓運動定律的綜合應用(一)(講義)(解析版)-2025年高考物理一輪復習講練測(新教材新高考)
- 靜脈治療護理技術操作標準(2023版)解讀 2
- 2024年全國各地中考試題分類匯編(一):現(xiàn)代文閱讀含答案
- GB/T 30306-2024家用和類似用途飲用水處理濾芯
評論
0/150
提交評論