Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)-教案 項(xiàng)目五 MapReduce_第1頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)-教案 項(xiàng)目五 MapReduce_第2頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)-教案 項(xiàng)目五 MapReduce_第3頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)-教案 項(xiàng)目五 MapReduce_第4頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)與案例實(shí)戰(zhàn)(微課版)-教案 項(xiàng)目五 MapReduce_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

MapReduce教學(xué)單元名稱MapReduce工作原理教學(xué)目標(biāo)能力目標(biāo)具有自主學(xué)習(xí)、分析問題的能力知識(shí)目標(biāo)MapReduce概述MapReduce體系結(jié)構(gòu)MapReduce工作流程素質(zhì)目標(biāo)探索新知識(shí)、自主學(xué)習(xí)、查閱資料的能力教學(xué)重點(diǎn)MapReduce概述MapReduce體系結(jié)構(gòu)MapReduce工作流程教學(xué)難點(diǎn)MapReduce工作流程教學(xué)方法提問法、討論法、講授法教學(xué)時(shí)數(shù)2學(xué)時(shí)教學(xué)過程設(shè)計(jì)教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動(dòng)學(xué)生活動(dòng)新課引入HDFS講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——MapReduce講解聽講記錄課程要點(diǎn)講解1.MapReduce概述重點(diǎn)介紹了分布式并行編程、MapReduce模型簡介和Map和Reduce函數(shù)講解提問搜集資料、交流2.MapReduce體系結(jié)構(gòu)重點(diǎn)介紹Client、JobTracker、TaskTracker以及Task講解聽講記錄3.MapReduce工作流程重點(diǎn)介紹MapReduce各個(gè)執(zhí)行階段

講解提問搜集資料、交流詳細(xì)講解MapReduce概述分布式并行編程分布式程序運(yùn)行在大規(guī)模計(jì)算機(jī)集群上,可以并行執(zhí)行大規(guī)模數(shù)據(jù)處理任務(wù),從而獲得海量的計(jì)算能力2)MapReduce模型簡介MapReduce將復(fù)雜的、運(yùn)行于大規(guī)模集群上的并行計(jì)算過程高度地抽象到了兩個(gè)函數(shù):Map和Reduce3)Map和Reduce函數(shù)講解分組討論2.MapReduce體系結(jié)構(gòu)講解聽講記錄、交流3.MapReduce工作流程1)工作流程概述不同的Map任務(wù)之間不會(huì)進(jìn)行通信不同的Reduce任務(wù)之間也不會(huì)發(fā)生任何信息交換用戶不能顯式地從一臺(tái)機(jī)器向另一臺(tái)機(jī)器發(fā)送消息所有的數(shù)據(jù)交換都是通過MapReduce框架自身去實(shí)現(xiàn)的MapReduce各個(gè)執(zhí)行階段Shuffle講解分組討論、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對(duì)本堂課中知識(shí)點(diǎn)難以理解的地方,結(jié)合教學(xué)重點(diǎn)和難點(diǎn),對(duì)所學(xué)知識(shí)進(jìn)一步強(qiáng)化。講解學(xué)生記錄布置作業(yè)1、闡述MapReduce和Hadoo之間的關(guān)?2、MapReduce的工作流程?3、分別描述Map端和Reduce端的Shuffle過程?MapReduce教學(xué)單元名稱MapReduce編程教學(xué)目標(biāo)能力目標(biāo)具有自主學(xué)習(xí)、分析問題的能力知識(shí)目標(biāo)掌握MapReduce配置文件的修改。使用MapReduce模型獨(dú)立完成二十大報(bào)告內(nèi)容的分析。能夠獨(dú)立完成YARN的部署。掌握使用MapReduce編寫的jar包提交給YARN集群運(yùn)行。素質(zhì)目標(biāo)通過對(duì)二十大報(bào)告的分析,了解二十大報(bào)告內(nèi)容。通過對(duì)漢字的引入,了解中國漢字的由來,體會(huì)中國的文化自信。養(yǎng)成事前調(diào)研、做好準(zhǔn)備工作的習(xí)慣。貫徹互助共享的精神。教學(xué)重點(diǎn)修改MapReduce配置文件的修改。使用MapReduce模型獨(dú)立完成單詞統(tǒng)計(jì)分析。能夠獨(dú)立完成YARN的部署。使用MapReduce編寫的jar包提交給YARN集群運(yùn)行。教學(xué)難點(diǎn)使用MapReduce模型獨(dú)立完成單詞統(tǒng)計(jì)分析使用MapReduce編寫的jar包提交給YARN集群運(yùn)行教學(xué)方法提問法、討論法、講授法教學(xué)時(shí)數(shù)10學(xué)時(shí)教學(xué)過程設(shè)計(jì)教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教師活動(dòng)學(xué)生活動(dòng)新課引入MapReduce編程模型,分布式存儲(chǔ)工作原理、分布式并行計(jì)算工作原理講解聽講記錄任務(wù)描述提出本次學(xué)習(xí)的任務(wù)——MapReduce編程講解聽講記錄課程要點(diǎn)講解1、使用MapReduce模型獨(dú)立完成單詞統(tǒng)計(jì)分析假設(shè)有兩個(gè)文本文件,分別為words1.txt和words2.txt,現(xiàn)在需要計(jì)算出這兩個(gè)文件中單詞出現(xiàn)的次數(shù)。在統(tǒng)計(jì)單詞數(shù)量任務(wù)中,可以將大的數(shù)據(jù)集切分成小的數(shù)據(jù)集,且各數(shù)據(jù)集之間相互獨(dú)立,方便并行處理。此外,各個(gè)單詞之間的頻數(shù)不具有相關(guān)性,可以將不同的單詞分發(fā)到不同的節(jié)點(diǎn)上處理。由此可以看出,單詞統(tǒng)計(jì)任務(wù)的解決思路完全貼合MapReduce的編程思想。統(tǒng)計(jì)單詞出現(xiàn)次數(shù)的流程如圖所示:講解提問搜集資料、交流2、MapReduce程序提交給YARN運(yùn)行講解搜集資料、交流、分組討論詳細(xì)講解1、MapReduce單詞統(tǒng)計(jì)分析在該任務(wù)中,程序的執(zhí)行過程如下:(1)輸入分片及其格式化案例中的輸入文件為兩個(gè)很小文本文件,單個(gè)文件的數(shù)據(jù)沒有達(dá)到需要切分的程度,所以可將每個(gè)文件作為獨(dú)立的分片。此外,還需要對(duì)輸入分片進(jìn)行格式化操作,形成<key1,value1>形式的數(shù)據(jù)流。單詞統(tǒng)計(jì)的輸入分片及其格式化如圖所示:key1為偏移量,從0開始,每讀取一個(gè)字符(包括空格、換行符等)就增加1,單詞占2個(gè)字符;value1為每行文本內(nèi)容,文本內(nèi)容為字符串形式。(2)Map過程map()函數(shù)將接收到的<key1,value1>形式的輸入數(shù)據(jù)流,按空格進(jìn)行拆分,輸出結(jié)果為<key2,value2>形式的數(shù)據(jù)。單詞統(tǒng)計(jì)的Map過程如圖所示:key2為字符串形式的單詞;value2的值為1,表示單詞數(shù)為1。(3)Shuffle過程由于Reduce要求輸入數(shù)據(jù)有序,所以map()函數(shù)的計(jì)算結(jié)果需要經(jīng)過處理(如分區(qū)、排序、歸并),才可以作為reduce()函數(shù)的輸入。于是,將多個(gè)Map任務(wù)的<key2,value2>形式的輸出,處理成<key2,list(value2)>形式的中間結(jié)果,單詞統(tǒng)計(jì)的Shuffle過程如圖所示:(4)Reduce過程reduce()函數(shù)接收<key2,list(value2)>形式的數(shù)據(jù)流,對(duì)相同單詞的值集合進(jìn)行計(jì)算,匯總出單詞出現(xiàn)的總次數(shù)。單詞統(tǒng)計(jì)的Reduce過程如圖所示:講解分組討論2、MapReduce程序提交給YARN運(yùn)行①將編寫的源代碼打包,需要修改數(shù)據(jù)輸入路徑和數(shù)據(jù)輸出路徑,其余內(nèi)容不改變,代碼如下所示:FileInputFormat.setInputPaths(job,newPath("/wordcount/input"));FileOutputFormat.setOutputPath(job,newPath("/wordcount/output"));②使用Xshell軟件的傳輸功能,將已經(jīng)生成的wordcount.jar包傳到master節(jié)點(diǎn)上的/usr/local/src目錄下。③執(zhí)行jar包,命令如下所示:hadoopjar/usr/local/src/wordcount.jarorg.mapreduce.wordcount.JobSubmitterhadoopjar是執(zhí)行jar包命令,/usr/local/src/wordcount.jar是生成jar包名稱,org.tzx.mapreduce.JobSubmitter是源代碼中包含main方法的完整類名。hadoopjar會(huì)把本臺(tái)節(jié)點(diǎn)上Hadoop安裝目錄里面的所有jar包和配置文件都加載到本次運(yùn)行時(shí)的classpath中。講解聽講記錄、交流分組討論、交流教學(xué)小結(jié)根據(jù)課堂教學(xué)情況,之處學(xué)生對(duì)本堂課中知識(shí)點(diǎn)難以理解的地方,結(jié)合教學(xué)重點(diǎn)和難點(diǎn),對(duì)所學(xué)知識(shí)進(jìn)一步強(qiáng)化。講解學(xué)生記錄布置作業(yè)數(shù)據(jù)來源于資料中的age_train.csv文件,包含用戶手機(jī)設(shè)備ID(device_id)、性別(gender)、年齡(age)、年齡段(group)四個(gè)字段數(shù)據(jù),對(duì)數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行如下操作:1.創(chuàng)建HDFS文件系統(tǒng)下目錄文件useranaysis,其路徑為“/useranaysis”,并上傳數(shù)據(jù)。2.用戶年齡分析,統(tǒng)計(jì)不同年齡的用戶分布情況,結(jié)果寫入“/useranaysis/userage”,按照年齡分組聚合,求取用戶數(shù);統(tǒng)計(jì)結(jié)果格式:“agevalues”,并且csv表頭的內(nèi)容不在統(tǒng)計(jì)范圍之內(nèi);3.年齡與性別聯(lián)合分析,統(tǒng)計(jì)不同年齡下男女用戶分布情況,結(jié)果寫入“/useranaysis/agegender”,結(jié)果格式為“age:gende

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論