我正在链接多个 MapReduce 作业,并希望将一些元信息(例如配置或原始输入的名称)与结果一起传递/存储。至少文件“_SUCCESS”以及目录“_logs”中的任何内容都将被忽略。
是否有任何默认情况下被忽略的文件名模式InputReader
?或者这只是一个固定的有限列表?
默认情况下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
始终处于活动状态。