子计画自动化大量资料切割与整合_第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

提交评论