Java hadoop pathFilter无法筛选给定路径

Java hadoop pathFilter无法筛选给定路径,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我使用的是hadoop 0.20.2版本,我有一个map reduce程序,可以从天气记录中查找最高温度。我的问题是我在输入路径中有一组文件,我只想筛选出映射程序所需的文件。在我的例子中,映射器的数据包括文件名,以sample1.txt、sample2.txt等开头,同样的路径也有一些其他文件。如何仅输入以sample*开头的文件。我使用了以下路径过滤器 谁能帮我一下吗 public static class filter implements PathFilter { @Overri

我使用的是hadoop 0.20.2版本,我有一个map reduce程序,可以从天气记录中查找最高温度。我的问题是我在输入路径中有一组文件,我只想筛选出映射程序所需的文件。在我的例子中,映射器的数据包括文件名,以sample1.txt、sample2.txt等开头,同样的路径也有一些其他文件。如何仅输入以sample*开头的文件。我使用了以下路径过滤器

谁能帮我一下吗

public static class filter implements PathFilter {

    @Override
    public boolean accept(Path path) {
        // TODO Auto-generated method stub
        return path.toString().contains("sample");
    }

}
驱动程序代码包括:

     FileInputFormat.setInputPathFilter(job, filter.class);
    FileInputFormat.addInputPath(job, new Path(args[0]));
    FileOutputFormat.setOutputPath(job, new Path(args[1]));
有关更多信息,请单击 和
您可以直接使用glob,即

Path inputpath = new Path(args[0] + "/" + "sample" + "*")
FileInputFormat.addInputPath(job, inputpath);

这只是做你想做的事情的一种替代方法。

@Eran我编辑了我的答案,或者我不知道链接无效。。。。但大多数时候链接是由很多人提供的…谢谢!这更好,但是如果你解释一下这段代码是如何回答这个问题的,那就更好了。顺便说一句,我没有否决你的答案,它是可行的,但需要做一些小改动:Path inputpath=new Pathargs[0]+/+sample+*;FileInputFormat.addInputPathjob,inputpath;谢谢你。。
Path inputpath = new Path(args[0] + "/" + "sample" + "*")
FileInputFormat.addInputPath(job, inputpath);