scala - 使用scala读取后如何删除hdfs目录中的文件?

标签 scala hadoop apache-spark spark-streaming

我使用 fileStream 从 Spark(流上下文)读取 hdfs 目录中的文件。如果我的 Spark 关闭并在一段时间后启动,我想读取目录中的新文件。我不想读取目录中已被 Spark 读取和处理的旧文件。我在这里尽量避免重复。

val lines = ssc.fileStream[LongWritable, Text, TextInputFormat]("/home/File")

有什么代码片段可以提供帮助吗?

最佳答案

您可以使用 FileSystem API:

import org.apache.hadoop.fs.{FileSystem, Path}

val fs = FileSystem.get(sc.hadoopConfiguration)

val outPutPath = new Path("/abc")

if (fs.exists(outPutPath))
  fs.delete(outPutPath, true)

关于scala - 使用scala读取后如何删除hdfs目录中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45104284/

相关文章:

apache-spark - 更改conf设置后如何在EMR中重新启动Spark服务?

scala - 如何将 Spark 中的分类变量转换为一组编码为 {0,1} 的列?

Scala 惰性 val 缓存

scala - Spark(Scala)从驱动程序写入(和读取)本地文件系统

hadoop - 已安装 Spark 但未找到命令 'hdfs' 或 'hadoop'

hadoop - Hive:修改外部表的位置需要太长时间

apache-spark - Pyspark --- 添加新列,其中包含每组的值

scala - 在 Scala 中,为什么不对类型参数发出未经检查的警告?

Scala Generic,通过变量指定泛型

scala - Spark数据帧-按键减少