MapReduce模板

来源:互联网 发布:js初始化类 编辑:程序博客网 时间:2024/06/06 08:34
package jtlyuan.csdn.template;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.LongWritable;import org.apache.hadoop.io.Text;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.input.TextInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;import org.apache.hadoop.util.Tool;import org.apache.hadoop.util.ToolRunner;public class MyJob extends Configured implements Tool{/*MapClass静态类*/public static class MapClass extends Mapper<LongWritable,Text,Text,Text>{public void map(LongWritable key,Text value,Context context) throws IOException, InterruptedException{String[] citation = value.toString().split(",");context.write(new Text(citation[1]),new Text(citation[0]));}}/*Reduce静态类*/public static class Reduce extends Reducer<Text,Text,Text,Text>{public void reduce(Text key,Iterable<Text> values,Context context) throws IOException, InterruptedException{String csv = "";for(Text val:values){if(csv.length()>0){csv += ",";}csv += val.toString();}context.write(key, new Text(csv));}}/*driver驱动方法*/public int run(String[] args) throws Exception {Configuration conf = getConf();Job job = new Job(conf,"MyJobName");job.setJarByClass(MyJob.class);FileInputFormat.setInputPaths(job, new Path(args[0]));FileOutputFormat.setOutputPath(job, new Path(args[1]));job.setMapperClass(MapClass.class);job.setCombinerClass(Reduce.class);job.setReducerClass(Reduce.class);job.setInputFormatClass(TextInputFormat.class);job.setOutputFormatClass(TextOutputFormat.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(Text.class);System.exit(job.waitForCompletion(true)?0:1);return 0;}/*主函数入口*/public static void main(String[] args) throws Exception {int res = ToolRunner.run(new Configuration(),new MyJob(),args);System.exit(res);}}
方便以后直接引用