使用MultipleOutputs方法将mapreduce分组输出
MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用通过使用Map和Reduce函数,再定义输入输出就能得到我们想要的结果。不过一般Map Reduce的输出只包含一个可视化输出文件(如下图part-r-00000文件),那么我们如果需要将这一个输出文件分为多个输出文件该怎么办呢?
这里就用到了MR框架中的MultipleOutputs函数(MultipleOutputs是2.0之后的新API,是对老版本中MultipleOutputs与MultipleOutputFormat的一个整合)。
先来看段完整代码熟悉一下:
public class dateFormat {
static class MyMapper extends Mapper<LongWritable,Text,Text,Text>{
@Override
protected void map(LongWritable key, Text value,Context context)throws IOException, InterruptedException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
String time = simpleDateFormat.format(new D