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

标签 java hadoop apache-spark azure-blob-storage

假设我们有以下文件结构 实时\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/

相关文章:

java - 无法在 MacBook Pro OS Yosemite 10.10.5 上运行 Java HelloWorld

java - 数组的选择排序方法

hadoop - 无法使用 oozie 运行 sqoop

azure - 在Azure databricks中,将pyspark数据帧写入eventhub花费的时间太长,因为数据帧中有300万条记录

apache-spark - Spark Streaming 在 java 中将 Dataset<Row> 转换为 Dataset<CustomObject>

java - Windows 和 Linux 上的目录指示器。

java - 为什么有很多框架支持多次上传,但没有一个支持多次下载?

scala - Spark 2.2.0 - 加载特定的文件列表

amazon-web-services - 在具有默认配置的EMR群集模式下会发生什么?

recursion - Hadoop MapReduce递归有几个输出?