public static class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable>
继承Mapper类
其中<LongWritable, Text, Text, IntWritable>的含义如下:
继承后,编写map函数
public void map(LongWritable key, Text value,Context context)
pubilc static class MyReduce extends Reducer<Text, IntWritable, Text, IntWritable>
继承Reducer类
其中<Text, IntWritable, Text, IntWritable>的含义如下:
继承后,编写reduce函数
public void reduce(Text key, Iterable
主函数中要设置job
public static void main(String[] args) throws Exception {
JobConf conf = new JobConf(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, new Path(args[0]));
FileOutputFormat.setOutputPath(conf, new Path(args[1]));
JobClient.runJob(conf);
}
conf.setOutputKeyClass(Text.class );
conf.setOutputValueClass(IntWritable.class );
Text相当于Java的String,IntWritable相当于Int
原文:https://www.cnblogs.com/chenshaowei/p/12345540.html