我正在尝试通过以下方法列出emr hdfs上目录中的所有文件:
val directory = new File(directoryPath)
val fileStatusListIterator: RemoteIterator[LocatedFileStatus] = FileUtils.fs.listFiles(new Path(directoryPath), true)
while (fileStatusListIterator.hasNext) {
val fileStatus = fileStatusListIterator.next
if (fileStatus.isFile) {
log.info(s"Iterator File Path: ${fileStatus.getPath}")
}
}
我的问题:它列出了除csv文件之外的所有内容。
我找到了原因。因为我恰好在清单之前下载了此csv文件。这意味着文件无法按时从迭代器中捕获。因此,我必须使用:
Future.Await(Downloading,Duration.Inf)
因此,它将被迫等待下载完成,然后继续进行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句