欢迎来到天天文库
浏览记录
ID:41642688
大小:59.29 KB
页数:4页
时间:2019-08-29
《基于MapReduce的Kmeans算法代码及其使用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、packagecom;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.ioJntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduc
2、e.Mapper;importorg.apache.hadoop.mapreduce.Reducer;importorg.apache.hadoop.mapreduceJib.input.FilelnputFormat;importorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat;importorg.apache.hadoop.util.GenericOptionsParser;publicclassKmeans{//staticList3、intdataBeginlndex;publicstaticclassKmeansMapperextendsMapper{publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringline=value.toStringO;String[]fields=line.split(n,");List4、nfiguration().get(ncentersPathn));intdataBeginlndex=Integer.parseInt(context>getConfiguration().get("dtBegIdxPath"));intK=Integer.parseInt(context.getConfiguration().get(HKPathn));doubleminDistance=99999999;intcenterindex=K;for(inti=0;i5、s.length;j++){doubletl=Math.abs(centers.get(i).get(j));doublet2=Math.abs(Double.parseDouble(fields[j]));currentDistance+=Math.pow((tl-12)/(tl+t2),2);}Help.debug(currentDistance,HcurrentDistancen);if(minDistance>currentDistance){minDistance=currentDistance;centerindex=i;}}IntWritablecenterld=newIntW6、ritable(centerIndex+1);TexttValue=newText();tValue.set(value);context.write(centerld,tValue);}}publicstaticclassKmeansReducerextendsReducer{publicvoidreduce(IntWritablekey,Iterablevalues,newContextcontext)throwsIOException,InterruptedException{List7、tmpList=newArrayList();for(inti=0;i
3、intdataBeginlndex;publicstaticclassKmeansMapperextendsMapper{publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringline=value.toStringO;String[]fields=line.split(n,");List4、nfiguration().get(ncentersPathn));intdataBeginlndex=Integer.parseInt(context>getConfiguration().get("dtBegIdxPath"));intK=Integer.parseInt(context.getConfiguration().get(HKPathn));doubleminDistance=99999999;intcenterindex=K;for(inti=0;i5、s.length;j++){doubletl=Math.abs(centers.get(i).get(j));doublet2=Math.abs(Double.parseDouble(fields[j]));currentDistance+=Math.pow((tl-12)/(tl+t2),2);}Help.debug(currentDistance,HcurrentDistancen);if(minDistance>currentDistance){minDistance=currentDistance;centerindex=i;}}IntWritablecenterld=newIntW6、ritable(centerIndex+1);TexttValue=newText();tValue.set(value);context.write(centerld,tValue);}}publicstaticclassKmeansReducerextendsReducer{publicvoidreduce(IntWritablekey,Iterablevalues,newContextcontext)throwsIOException,InterruptedException{List7、tmpList=newArrayList();for(inti=0;i
4、nfiguration().get(ncentersPathn));intdataBeginlndex=Integer.parseInt(context>getConfiguration().get("dtBegIdxPath"));intK=Integer.parseInt(context.getConfiguration().get(HKPathn));doubleminDistance=99999999;intcenterindex=K;for(inti=0;i5、s.length;j++){doubletl=Math.abs(centers.get(i).get(j));doublet2=Math.abs(Double.parseDouble(fields[j]));currentDistance+=Math.pow((tl-12)/(tl+t2),2);}Help.debug(currentDistance,HcurrentDistancen);if(minDistance>currentDistance){minDistance=currentDistance;centerindex=i;}}IntWritablecenterld=newIntW6、ritable(centerIndex+1);TexttValue=newText();tValue.set(value);context.write(centerld,tValue);}}publicstaticclassKmeansReducerextendsReducer{publicvoidreduce(IntWritablekey,Iterablevalues,newContextcontext)throwsIOException,InterruptedException{List7、tmpList=newArrayList();for(inti=0;i
5、s.length;j++){doubletl=Math.abs(centers.get(i).get(j));doublet2=Math.abs(Double.parseDouble(fields[j]));currentDistance+=Math.pow((tl-12)/(tl+t2),2);}Help.debug(currentDistance,HcurrentDistancen);if(minDistance>currentDistance){minDistance=currentDistance;centerindex=i;}}IntWritablecenterld=newIntW
6、ritable(centerIndex+1);TexttValue=newText();tValue.set(value);context.write(centerld,tValue);}}publicstaticclassKmeansReducerextendsReducer{publicvoidreduce(IntWritablekey,Iterablevalues,newContextcontext)throwsIOException,InterruptedException{List7、tmpList=newArrayList();for(inti=0;i
7、tmpList=newArrayList();for(inti=0;i
此文档下载收益归作者所有