Spark数据集中加载的文件列表

时间:2017-10-06 10:57:03

标签: java hadoop apache-spark azure-storage-blobs

假设我们有以下文件结构 实时\ TEMP \ f1.txt,f2.txt,f3.txt

我们已在spark 2中为这些文件创建了数据集。 现在处理完这些文件之后,我们需要从源位置(realtime \ temp)删除这些文件

所以我们想要我们创建数据集的所有文件的列表。

先谢谢

1 个答案:

答案 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)
 }