Hadoop - MapReduce 초급 예 (자바)

2336 단어
데이터
package dedup_test;

import java.io.IOException;    
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;   
import org.apache.hadoop.io.*;  
import org.apache.hadoop.mapreduce.Job;  
import org.apache.hadoop.mapreduce.Mapper;  
import org.apache.hadoop.mapreduce.Reducer;  
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;  
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;  
import org.apache.hadoop.util.GenericOptionsParser;
import org.apache.hadoop.util.ToolRunner;
import org.apache.hadoop.util.Tool;

public class dedup_test extends Configured implements Tool {

	public static class Map extends Mapper {

		private static Text line = new Text();

		public void map(Object key, Text value, Context context)
				throws IOException, InterruptedException {

			line = value;
			context.write(line, new Text(""));
		}
	}

	public static class Reduce extends Reducer {

		public void reduce(Text key, Iterable values, Context context)
				throws IOException, InterruptedException {

			context.write(key, new Text(""));
		}
	}

	public int run(String[] args) throws Exception {

		Configuration conf = getConf();

		String[] ioArgs = new String[] { "dedup_in", "dedup_out" };
		String[] otherArgs = new GenericOptionsParser(conf, ioArgs).getRemainingArgs();

		if (otherArgs.length != 2) {
			System.err.println("Usage: Data Deduplication  ");
			System.exit(2);
		}

		Job job = Job.getInstance(conf);
		job.setJarByClass(dedup_test.class);

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

		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(Text.class);

		FileInputFormat.addInputPath(job, new Path(args[0]));
		FileOutputFormat.setOutputPath(job, new Path(args[1]));
		System.exit(job.waitForCompletion(true) ? 0 : 1);

		return job.isSuccessful() ? 0 : 1;
	}

	public static void main(String[] args) throws Exception {
		int res = ToolRunner.run(new Configuration(), new dedup_test(), args);
		System.exit(res);
	}
}


2. 데이터 정렬
3. 여러 학생 의 평균 성적 을 계산한다.

좋은 웹페이지 즐겨찾기