У меня есть путь к папке HDFS, как показано ниже.
sampleFolder / B / C / file1.orc \ п
sampleFolder / д / file2.orc \ п
sampleFolder / д / file3.orc
Я хочу получить количество файлов и папок по пути HDFS «sampleFolder».
Ожидаемый результат должен быть 6 (то есть папка b, папка c, папка d, file1.orc, file2.orc и file3.orc).
Но всегда получаю только количество файлов, а не количество папок.
Я пытаюсь описать код ниже, но всегда получаю вывод как
Файл
FileCount: 3
sHiveFilePath - hdfs: //10.1.1.1: 8020 / sampleFolder.
Может кто-нибудь, пожалуйста, руководство?
RemoteIterator<LocatedFileStatus> ri = hdfs.listFiles(sHiveFilePath, true);
LocatedFileStatus current = null;
while (ri.hasNext()) {
current = ri.next();
if(current.isFile()) {
System.out.println("File");
System.out.println("FileCount: " + fileCount++);
}
if(current.isDir()){
System.out.println("Directory");
System.out.println("Dir Count: " + fileCount++);
}
}