Hadoop自定义输出文件名

在job页面添加一条代码:

job.setOutputFormatClass(num.class);
新建一个类,里面继承 TextOutputFormat 类复写 getDefaultWorkFile 方法.
return new Path(committer.getWorkPath(), "num");中更改输出文件的名字
package com.test.map;
import java.io.IOException;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.mapreduce.RecordWriter;
import org.apache.hadoop.mapreduce.TaskAttemptContext;
import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
public class num extends TextOutputFormat{
    @Override
    public Path getDefaultWorkFile(TaskAttemptContext context, String extension) throws IOException {
        FileOutputCommitter committer = (FileOutputCommitter) getOutputCommitter(context);
        return new Path(committer.getWorkPath(), "num");//getOutputName(context)
    }
}
原文地址:https://www.cnblogs.com/ideaAI/p/13829979.html