假设我们有以下文件结构 实时\temp\f1.txt,f2.txt,f3.txt
我们已经在 spark 2 中为这些文件创建了数据集。 现在,在处理完这些文件后,我们需要从源位置 (realtime\temp) 删除这些文件
所以我们需要这些我们创建数据集的所有文件的列表。
提前致谢
最佳答案
您可以创建一个 hadoop 文件系统对象。然后列出目录中的文件。 获得列表后,只需遍历文件即可将它们一一删除。
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.fs.Path
var hfs = FileSystem.get(new Configuration())
val allFileIterator = hfs.listFiles(new Path("/user/sngrover"), true)
while (allFileIterator.hasNext()) {
val filePath = allFileIterator.next().getPath
hfs.delete(filePath, false)
}
关于java - 加载到 Spark 数据集中的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46604190/