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)
    }
}

 

posted @ 2020-10-17 09:44  Ideaway  阅读(273)  评论(0)    收藏  举报