Hadoop 映射器会忽略哪些文件作为输入?

Hadoop 映射器会忽略哪些文件作为输入?,hadoop,filter,ignore,mapper,Hadoop,Filter,Ignore,Mapper,我正在链接多个MapReduce作业,并希望传递/存储一些元信息(例如,原始输入的配置或名称)和结果。至少要忽略文件“\u SUCCESS”以及目录“\u logs”中的任何内容 是否有默认情况下被InputReader忽略的文件名模式?或者这只是一个固定的有限列表?默认情况下,文件输入格式使用以下内容: private static final PathFilter hiddenFileFilter = new PathFilter(){ public boolean acce

我正在链接多个MapReduce作业,并希望传递/存储一些元信息(例如,原始输入的配置或名称)和结果。至少要忽略文件“\u SUCCESS”以及目录“\u logs”中的任何内容


是否有默认情况下被
InputReader
忽略的文件名模式?或者这只是一个固定的有限列表?

默认情况下,
文件输入格式使用以下内容:

  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
),隐藏的文件(文件名以“\u”或“.”开头)将被忽略


您可以使用设置自定义
路径过滤器
。请记住,
hiddenFileFilter
始终处于活动状态。

在配置作业输入类之后还是之前使用
setInputPathFilter
?两者都可以。只需要在运行作业之前设置它。为什么要下划线?这只是HDFS的约定。我不知道确切的原因。不幸的是,这是使用链接时的问题。这些链接已经失效:(