基于hadoop的mapreduce框架研究報(bào)告黃飛_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于Hadoop的Map/Reduce框架研究報(bào)告,黃飛,Outline,1. 模型介紹:Hadoop 簡(jiǎn)介MapReduce 計(jì)算模型2.實(shí)例分析WordCount,Hadoop 簡(jiǎn)介,Hadoop 簡(jiǎn)介,Hadoop 是一個(gè)開(kāi)源分布式計(jì)算平臺(tái),它實(shí)現(xiàn)了 Map/Reduce 計(jì)算模型。借助于 Hadoop, 程序員可以輕松地編寫分布式并行程序,將其運(yùn)行于計(jì)算機(jī)集群上,完成海量數(shù)據(jù)的計(jì)算。,Hadoop 簡(jiǎn)介,分布式并行編程

2、概念 基于集群的分布式并行編程能夠讓軟件與數(shù)據(jù)同時(shí)運(yùn)行在連成一個(gè)網(wǎng)絡(luò)的許多臺(tái)計(jì)算機(jī)上,由此獲得海量計(jì)算能力。,Hadoop 簡(jiǎn)介,迎接編程方式的變革1.摩爾定律正在失效 根據(jù)摩爾定律,約每隔18個(gè)月,CPU性能會(huì)提高一倍。然而,由于晶體管電路已經(jīng)逐漸接近其物理上的性能極限,摩爾定律在 2005 年左右開(kāi)始失效。2.分布式并行編程 互聯(lián)網(wǎng)時(shí)代的到來(lái),將使軟件編程方式發(fā)生重大變革,基于大規(guī)模計(jì)算機(jī)集群的分布式并行編程

3、是將來(lái)軟件性能提升的主要途徑。,Hadoop 簡(jiǎn)介,1.Google & Hadoop2.Hadoop的未來(lái),Map/Reduce 計(jì)算模型,Map/Reduce 計(jì)算模型,Map/Reduce 是 Hadoop的核心計(jì)算模型,它將復(fù)雜的運(yùn)行于大規(guī)模集群上的并行計(jì)算過(guò)程高度的抽象到了兩個(gè)函數(shù),Map 和 Reduce, 這是一個(gè)令人驚訝的簡(jiǎn)單卻又威力巨大的模型。,Map/Reduce 計(jì)算模型,Map/Reduce計(jì)算流程,M

4、ap/Reduce 計(jì)算模型,程序框架:Class MR{Class Map …{ }Class Reduce …{ }main(){JobConf conf = new JobConf(“MR.class”);conf.setInputPath(“the_path_of_HDFS ”);conf.setMapperClass(Map.class);conf.setReduceClass(R

5、educe.class);JobClient.runJob(conf);}},Map/Reduce 計(jì)算模型,Map 和 Reduce 函數(shù),計(jì)算模型的核心是map和reduce 兩個(gè)函數(shù),這兩個(gè)函數(shù)由用戶負(fù)責(zé)實(shí)現(xiàn),功能是按一定的映射規(guī)則將輸入的對(duì)轉(zhuǎn)換成另一個(gè)或一批對(duì)輸出,Map/Reduce 計(jì)算模型,基于 MapReduce 計(jì)算模型編寫分布式并行程序非常簡(jiǎn)單,程序員的主要編碼工作就是實(shí)現(xiàn) Map 和 Reduce函數(shù)。

6、其它的并行編程中的種種復(fù)雜問(wèn)題,如分布式存儲(chǔ),工作調(diào)度,負(fù)載平衡,容錯(cuò)處理,網(wǎng)絡(luò)通信等,均由 MapReduce 框架(比如 Hadoop )負(fù)責(zé)處理。,Map/Reduce 計(jì)算模型,并行計(jì)算的實(shí)現(xiàn):數(shù)據(jù)分布存儲(chǔ)分布式并行計(jì)算本地計(jì)算,數(shù)據(jù)分布存儲(chǔ):,Map/Reduce 計(jì)算模型,Map/Reduce 計(jì)算模型,分布式并行計(jì)算:,,Job Tracker,Task Tracker,Task Tracker,Task Track

7、er,…,Task,Task,Task,Task,Task,Task,Hadoop Black Box,Map/Reduce 計(jì)算模型,本地計(jì)算:網(wǎng)絡(luò)帶寬為分布計(jì)算瓶頸,“本地計(jì)算”是最有效的一種節(jié)約網(wǎng)絡(luò)帶寬的手段,業(yè)界把這形容為“移動(dòng)計(jì)算比移動(dòng)數(shù)據(jù)更經(jīng)濟(jì)”。,實(shí)例分析:WordCount,實(shí)例分析:WordCount,1.實(shí)現(xiàn)Map類 這個(gè)類實(shí)現(xiàn) Mapper 接口中的 map 方法,輸入?yún)?shù)中的 value 是文本文件中的一

8、行,利用StringTokenizer 將這個(gè)字符串拆成單詞,然后將輸出結(jié)果 寫入到org.apache.hadoop.mapred.OutputCollector 中。,實(shí)例分析:WordCount,,實(shí)例分析:WordCount,,Input1, “Hello World Bye World”2, “Hello Hadoop Bye Hadoop”3, “Bye Hadoop Hello Hadoop”,,

9、Output.Collecter,Map(K, V) { For each word w in V Collect(w, 1);},Map,Map,Map,實(shí)例分析:WordCount,Combine(K, V[ ]) { Int count = 0; For each v in V count += v; Collect(K, count);},,Output.Col

10、lecter,,Map Output,Combine,Combine,Combine,實(shí)例分析:WordCount,Reduce(K, V[ ]) { Int count = 0; For each v in V count += v; Collect(K, count);},,Internal Grouping,,Reduce Ou

11、tput,Reduce,Reduce,Reduce,Reduce,,Reduce Input,實(shí)例分析:WordCount,2.實(shí)現(xiàn) Reduce 類: 這個(gè)類實(shí)現(xiàn) Reducer 接口中的 reduce 方法, 輸入?yún)?shù)中的 key, values 是由 Map 任務(wù)輸出的中間結(jié)果,values 是一個(gè) Iterator, 遍歷這個(gè) Iterator, 就可以得到屬于同一個(gè) key 的所有

12、 value. 此處,key是一個(gè)單詞,value 是詞頻。只需要將所有的 value 相加,就可以得到這個(gè)單詞的總的出現(xiàn)次數(shù)。,實(shí)例分析:WordCount,,實(shí)例分析:WordCount,3.運(yùn)行 Job:在 Hadoop 中一次計(jì)算任務(wù)稱之為一個(gè) job, 可以通過(guò)一個(gè) JobConf 對(duì)象設(shè)置如何運(yùn)行這個(gè) job。然后將 JobConf 對(duì)象作為參數(shù),調(diào)用 JobClient 的 runJob, 開(kāi)始執(zhí)行這個(gè)計(jì)算任務(wù)。,實(shí)例分

13、析:WordCount,,實(shí)例分析:WordCount,實(shí)驗(yàn)結(jié)果,Output:Number of occurrences of each word,Input:File containing words,Hello World Bye WorldHello Hadoop Bye HadoopBye Hadoop Hello Hadoop,Bye 3Hadoop 4Hello 3World 2,MapReduce,謝謝

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論