任务需求
需要求出wordcount的前3名 的数据
TopN.java
package MR;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
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.output.FileOutputFormat;
import java.io.IOException;
import java.util.TreeSet;
public class TopN {
//自定义的mapper类
public static class MyMapper extends Mapper<Object, Text, Text, LongWritable> {
Text k = new Text();
LongWritable v = new LongWritable(1L);
/**
* 抽象map函数 (map阶段的核心业务逻辑)
*/
@Override
protected void map(Object key, Text value,Context context) throws IOException, InterruptedException {
//获取行值
String row = value.toString();
/**
*
*/
//拆分行值
String [] words = row.split(" ");
for