我正在使用 Hadoop FileStatus API 来确定文件夹是否为空,以便删除目录。
为了确定我在 s3n 上是否有一个空目录,我要做的是检查 FileStatus[] 长度,如果它等于零,那么我请求 Hadoop 文件系统通过 fs.delete(path, false) 执行删除。此处的 False 表示非递归删除请求。
对于 FTP 和 HDFS,文件以及包含这些文件的空目录将按预期删除。但是对于 S3n,空目录仍然存在。我不确定为什么会这样。
我有使用内存 S3 文件系统的本地单元/集成测试,这里的删除按预期工作。但是,当针对真正的 S3n 文件系统运行代码时,它会失败(空目录未删除,但文件已删除)。
任何建议或指示将不胜感激。谢谢你。