資源描述:
《基于MapReduce的并行編程研究-習(xí)榮華.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、指導(dǎo)教師:郝衛(wèi)東老師基于MapReduce的并行編程研究班級:電信082學(xué)生:習(xí)榮華學(xué)號:40850449提綱:研究的背景與目的論文框架和主要內(nèi)容相關(guān)概念:云計算和并行計算論文成果背景:隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)產(chǎn)生的數(shù)據(jù)也呈指數(shù)增長,而傳統(tǒng)的技術(shù)架構(gòu)和僅靠單臺計算機基于串行的方式越來越不適應(yīng)當(dāng)前海量數(shù)據(jù)處理的要求。因此要在一定的時間內(nèi)以快速的處理速度來完成對數(shù)據(jù)的處理,MapReduce順勢而生。目的:MapReduce作為一個分布式并行編程模型,它用來有效地處理海量數(shù)據(jù),不斷地從中挖掘出有價值的信息。本文通過詳細的介紹此模型,從而使我們可以
2、有效的利用此模型來進行并行程序的編寫。研究的背景與目的論文的框架和主要內(nèi)容第一章:本章的內(nèi)容主要是介紹了關(guān)于課題的背景、研究的意義以及國內(nèi)外發(fā)展的狀況。第二章:本章是對云計算的一個概述,其中詳細的介紹了云計算的特點、云計算的服務(wù)分類以及云計算的關(guān)鍵技術(shù)第三章:本章中通過與串行計算的對比引出并行計算的概念,并在并行計算的進程模型、體系結(jié)構(gòu)以及編程模型等方面進行了全方位的闡述。第四章:在本章中,通過其應(yīng)用、特點及基本結(jié)構(gòu)詳細的介紹了Hadoop這個分布式計算平臺,隨后著重的介紹了兩個子項目:分布式文件系統(tǒng)HDFS和分布式并行編程模型MapRedu
3、ce。第五章:通過安裝Hadoop平臺,在其上運行兩個分布式應(yīng)用程序:詞頻統(tǒng)計和全年最高氣溫。隨后簡單介紹Mahout及基于Mahout的k-means聚類例子。云計算云計算之定義:云計算是指IT服務(wù)的交付和使用模式,是指通過網(wǎng)絡(luò)以按需、易擴展的方式獲得所需的資源(硬件、平臺、軟件)。提供資源的網(wǎng)絡(luò)被稱為“云”?!霸啤敝械馁Y源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。這種特性經(jīng)常形容為像使用水、電一樣使用IT基礎(chǔ)設(shè)施。什么是云計算?云計算特點超大規(guī)模虛擬化高可靠性通用性高可擴展性按需服務(wù)極其廉價云計算服務(wù)
4、云計算發(fā)展并行計算摩爾定律集成電路芯片上所集成的電路的數(shù)目,每隔18個月就翻一番,同時性能也提升一倍并行計算定義:簡單的來說就是用多個處理器來同時協(xié)調(diào)求解決一問題,即將需要求解的問題分解成若干個部分,各部分分配給一個獨立的處理機來進行并行計算。摩爾定律正在走向終結(jié)單芯片容納晶體管的增加,對制造工藝提出要求CPU制造18nm技術(shù),電子泄漏問題CPU主頻已達3GHz時代,難以繼續(xù)提高散熱問題(發(fā)熱太大,且難以驅(qū)散)功耗太高未來的發(fā)展:多核主要成果詞頻統(tǒng)計全年最高氣溫k-means聚類MapReduce是一種處理海量數(shù)據(jù)的并行編程模式處理數(shù)據(jù)量巨大
5、(PB級),將任務(wù)分布在成百上千個節(jié)點組成的集群上進行并行計算,并且在可接受的時間內(nèi)完成JefferyDean設(shè)計一個新的抽象模型,使我們只要執(zhí)行的簡單計算,而將并行化、容錯、數(shù)據(jù)分布、負載均衡的等雜亂細節(jié)放在一個庫里,使并行編程時不必關(guān)心它們這就是MapReduceGoogleMapReduce架構(gòu)設(shè)計師JeffreyDean實踐檢驗真理Google宣布,其對分布于1000臺計算機上的1TB數(shù)據(jù)進行排序僅僅需要68s對4000臺計算機上的1PB數(shù)據(jù)進行排序處理僅需要6小時2分鐘(每次測試至少會損壞1塊硬盤)在08年1月份,GoogleMap
6、Reduce平均每天的數(shù)據(jù)處理量是20PB,相當(dāng)于美國國會圖書館當(dāng)年5月份存檔網(wǎng)絡(luò)數(shù)據(jù)的240倍MapReduce執(zhí)行流程詞頻統(tǒng)計MapReduce對數(shù)據(jù)的處理是通過map()和reduce()兩個自定義函數(shù)實現(xiàn)的,在詞頻統(tǒng)計中這兩個函數(shù)具體如下:Map(K,V){ForeachwordwinVCollect(w,1);}Reduce(K,V[]){intcount=0;ForeachvinVcount+=v;Collect(K,count);}詞頻統(tǒng)計Step1:首先對輸入的文檔文件進行分割(Split),把輸入文件分成兩組,且由系統(tǒng)自動完
7、成HelloHadoopByeHadoopHelloWorldGoodByeWorldsplitsplitHelloHadoopByeHadoopHelloWorldGoodByeWorld詞頻統(tǒng)計Step2:在輸入文件分割完成之后,使用用戶編寫好的Map函數(shù)從而產(chǎn)生集HelloHadoopByeHadoopHelloWorldGoodByeWorldmapmap詞頻統(tǒng)計St
8、ep3:combine和partition過程