多目录输出:
输出两个文件一个是最大值,一个最小值。
主要操作reduce阶段
1.在reduce阶段定义多目录输出对象
private MutipleOutPuts<Text,DouWritable> outputs =null;
2.在setup()创建多目录输出对象 需要context支持
outputs = new MultipleOutputs(context);
3.在reduce用多目录输出对象生成多目录
outputs.write(new Text(maxkey), new DoubleWritable(maxval), "maxout/max");
outputs.write(new Text(minkey), new DoubleWritable(minval), "minout/min");
代码:
package com.hnxy.mr.Multiple;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
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 org.apache.hadoop.mapreduce.lib.output.MultipleOutputs;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRu