我正在链接多个MapReduce作业,并希望传递/存储一些元信息(例如原始输入的配置或名称)和结果。至少文件“_SUCCESS”以及目录“_logs”中的任何内容都会被忽略。
InputReader
默认忽略任何文件名模式吗?或者这只是一个固定的有限列表?
答案 0 :(得分:14)
FileInputFormat
默认使用以下hiddenFileFilter:
private static final PathFilter hiddenFileFilter = new PathFilter(){
public boolean accept(Path p){
String name = p.getName();
return !name.startsWith("_") && !name.startsWith(".");
}
};
因此,如果您使用任何FileInputFormat
(例如TextInputFormat
,KeyValueTextInputFormat
,SequenceFileInputFormat
),则隐藏文件(文件名以“_”或“。”开头)。 “)将被忽略。
您可以使用FileInputFormat.setInputPathFilter设置自定义PathFilter
。请记住,hiddenFileFilter
始终处于有效状态。