我有以下目录结构,
Dir1
|___Dir2
|___Dir3
|___Dir4
|___File1.gz
|___File2.gz
|___File3.gz
子目录只是嵌套的,不包含任何文件
我正在尝试使用以下内容在 HDFS 上的目录中进行递归。如果它是我附加/*
到路径的目录,并且addInputPath
arg[0] = "path/to/Dir1"; // given at command line
FileStatus fs = new FileStatus();
Path q = new Path(args[0]);
FileInputFormat.addInputPath(job,q);
Path p = new Path(q.toString()+"/*");
fs.setPath(p);
while(fs.isDirectory())
{
fs.setPath(new Path(p.toString()+"/*"));
FileInputFormat.addInputPath(job,fs.getPath());
}
但是代码似乎没有进入while
循环,我得到了not a File
异常