子計畫自動化大量資料切割與整合_第1頁
子計畫自動化大量資料切割與整合_第2頁
子計畫自動化大量資料切割與整合_第3頁
子計畫自動化大量資料切割與整合_第4頁
子計畫自動化大量資料切割與整合_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

子計畫:自動化大量資料切割與整合國立高雄大學電機工程學系賴智錦/詹奇峰第三季成果Whathadbeenexpectedtodo以修正後的資料切割與重組演算法,設計多引線(multi-thread)的版本。以C或類似語言進行單機系統模擬。修正資料切割與重組有關之演算法。Whatwereachieved

瞭解分散式工具Hadoop中MapReduce的執行原理。以Java語言進行單機系統模擬。針對單一版本的Hadoop,進行多引線的演算法設計。Anymismatches

尚未進行更多樣的多引線分析。尚未進行其他Hadoop版本的多引線API設計。第三季成果Anydifficulties多引線之API開發,發展還不算完全。由於Hadoop版本的不同,將會造成API的限制設計。Futuretasks若需投入更多樣的分析,需從自行設計多引線API下手。對於multi-thread的設計原理與應用,需更深入瞭解。針對不同Hadoop版本的多引線之API進行分析。Comments

需分析範例的特性,是否適宜於雲端運算的multi-thread設計。第三季成果MapperRecord*MultithreadedMapperMultithreadedMapper.RunnerMultithreadedMapper.SubMapRecord*Mapper.ContextThread1Thread2Thread3Thread4…ThreadxHadoopMultithreadFramework第三季成果Import…//LoadHadoopAPIClassMapRed{

ClassMapper…{

//MapCode

}

ClassReducer…{

//ReduceCode } main(){

JobConfJob=newJobConf(“MapRed.class”); Job.setMapperClass(Mapper.class); Job.setReduceClass(Reducer.class);

FileInputFormat.setInputPaths(Job,newPath(args[0]));

FileOutputFormat.setOutputPath(Job,newPath(args[1])); JobClient.runJob(Job);//OtherCodeSet}}Reduce…Main…Map…Import…第三季成果Import…importorg.apache.hadoop.mapred.lib.MultithreadedMapRunner;//LoadHadoopAPIClassMapRed{

ClassMapper…{//MapCode

}

ClassReducer…{//ReduceCode } main(){

JobConfJob=newJobConf(“MapRed.class”); Job.setMapperClass(Mapper.class); Job.setReduceClass(Reducer.class);

FileInputFormat.setInputPaths(Job,newPath(args[0])); FileOutputFormat.setOutputPath(Job,newPath(args[1]));

conf.setMapRunnerClass(MultithreadedMapRunner.class);conf.setInt("mapred.map.multithreadedrunner.threads",10);JobClient.runJob(Job);//OtherCodeSet}}Reduce…Main…Map…Import…MultithreadedMapRunner(版本0.20.0之前)

第三季成果MultithreadedMapRunner(版本0.20.0之後)

Import…importorg.apache.hadoop.mapreduce.lib.MultithreadedMapper;//LoadHadoopAPIClassMapRed{

ClassMapperextendsMultithreadedMapper<…,…,…,…>

{//MapCode }

ClassReducer…{//ReduceCode } main(){

JobConfJob=newJobConf(“MapRed.class”); Job.setMapperClass(Mapper.class); Job.setReduceClass(Reducer.class);

FileInputFormat.setInputPaths(Job,newPath(args[0])); FileOutputFormat.setOutputPath(Job,newPath(args[1]));

TokenizerMapper.setNumberOfThreads(job,4);JobClient.runJob(Job);//OtherCodeSet}}Reduce…Main…Map…Import…第三季成果1.WordcountExample

WordCount.java主程式,將相同token的sum起來。2.AverageRatingMapReduceExample

HadoopDriver.java主程式。UserRatingMapper.javaMapper

:使用者評分。AverageValueReducer.javaReducer:針對每個使用者評分進行平均計算。

IntArrayWritable.java全域物件宣告。MultithreadExample

analysis第三季成果一般wordcountMultithread

wordcountJobConfconf=newJobConf(WordCount.class);conf.setJobName("wordcount");

conf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);

conf.setMapperClass(Map.class);conf.setCombinerClass(Reduce.class);conf.setReducerClass(Reduce.class);

conf.setInputFormat(TextInputFormat.class);conf.setOutputFormat(TextOutputFormat.class);

FileInputFormat.setInputPaths(conf,newPath(args[0]));FileOutputFormat.setOutputPath(conf,newPath(args[1]));

JobClient.runJob(conf);JobConfconf=newJobConf(WordCount.class);conf.setJobName("wordcount");

conf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);

conf.setMapperClass(Map.class);conf.setCombinerClass(Reduce.class);conf.setReducerClass(Reduce.class);

conf.setMapRunnerClass(MultithreadedMapRunner.class);conf.setInt("mapred.map.multithreadedrunner.threads",10);conf.setInputFormat(TextInputFormat.class);conf.setOutputFormat(TextOutputFormat.class);

FileInputFormat.setInputPaths(conf,newPath(args[0]));FileOutputFormat.setOutputPath(conf,newPath(args[1]));

JobClient.runJob(conf);

1.

WordcountExample第三季成果(2)

Set“mapred.map.multithreadedrunner.threads”為10,資訊如下。(3)

沒有Set“mapred.map.multithreadedrunner.threads”如下。(1)

Reduce的完成23.66%對應1000File完成710FileURLInformation第三季成果2.

AverageValueReducer

Example1:1NetFlixdataset:Thread=4Totalsize=146MB一般的AverageValueReducerMultithreadAverageValueReducer第三季成果一般的AverageValueReducerMultithreadAverageValueReducer2.

AverageValueReducer

Example2:NetFlixdataset:Thread=4Totalsize=10146MB(資料個數資料大小)第三季成果2.

AverageValueReducer

溫馨提示

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

評論

0/150

提交評論