本文主要是介绍MapReduce在Map端按key排序,自定义排序方法Comparator,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
默认情况下,Map端会对map的输出结果按照key升序排列,同时也可以自定义排序方法。
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.IOException;
import java.util.Random;/*** Title:** @Author liuyazhou* @CreateTime 2019/11/13 16:14*/
public class MyMapper extends Mapper<Object, Text, IntWritable, IntWritable> {private static Logger logger = LoggerFactory.getLogger(MyMapper.class);//Map阶段的两个压入context的参数(也就是第3、4个参数)类型皆修改为IntWritable,而不是Textpublic void map(Object key, Text value, Context context)throws IOException, InterruptedException {IntWritable data = new IntWritable(Integer.parseInt(value.toString()));//将输入文件的每一行擦写成IntWritableIntWritable random = new IntWritable(new Random().nextInt());//搞个随机数
这篇关于MapReduce在Map端按key排序,自定义排序方法Comparator的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!