COM
其中只有basename默认是part字符串,由conf的mapreduce.output.basename配置。
basename-任务类型-分区号-文件类型,可以重写FileOutputFormat的getUniqueFile来配置。注意:FileOutputFormat可是在所有分区都执行的,不同分区生成的文件名一定不能重名
1. TextOutputFormat中,如果设置了压缩,会给extension变量赋值,添加到文件名后面
2. 输出流fileout中的文件名来源于Path file = getDefaultWorkFile(job, extension);
3. getDefaultWorkFile中来源于new Path(Path parent, String child)
new Path(committer.getWorkPath(), getUniqueFile(context,getOutputName(context), extension));
committer.getWorkPath()是parent,是目录。文件名最终来源于getUniqueFile(context,getOutputName(context), extension)
,顾名思义,生成一个唯一文件名