假设我们有以下文件结构 实时\ TEMP \ f1.txt,f2.txt,f3.txt
我们已在spark 2中为这些文件创建了数据集。 现在处理完这些文件之后,我们需要从源位置(realtime \ temp)删除这些文件
所以我们想要我们创建数据集的所有文件的列表。
先谢谢
答案 0 :(得分:1)
您可以创建一个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)
}