1

就此而言,我是 Hadoop 和 Java 的新手。我正在尝试从我正在编写的 MapReduce 驱动程序中计算 HDFS 上文件夹中的文件数。我想在不调用 HDFS Shell 的情况下执行此操作,因为我希望能够传入我在运行 MapReduce 作业时使用的目录。我尝试了很多方法,但由于我对 Java 的经验不足,都没有成功。

任何帮助将不胜感激。

谢谢,

游牧民族。

4

1 回答 1

2

您可以只使用 FileSystem 并遍历路径内的文件。这是一些示例代码

int count = 0;
FileSystem fs = FileSystem.get(getConf());
boolean recursive = false;
RemoteIterator<LocatedFileStatus> ri = fs.listFiles(new Path("hdfs://my/path"), recursive);
while (ri.hasNext()){
    count++;
    ri.next();
}
于 2013-05-02T18:05:57.337 回答