Hadoop大數據開發基礎與案例實戰(微課版)-教案 項目五 MapReduce_第1頁
Hadoop大數據開發基礎與案例實戰(微課版)-教案 項目五 MapReduce_第2頁
Hadoop大數據開發基礎與案例實戰(微課版)-教案 項目五 MapReduce_第3頁
Hadoop大數據開發基礎與案例實戰(微課版)-教案 項目五 MapReduce_第4頁
Hadoop大數據開發基礎與案例實戰(微課版)-教案 項目五 MapReduce_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論