只删除HDFS中的文件,而不是子目录中的文件

vmdwslir  于 10个月前  发布在  HDFS
关注(0)|答案(2)|浏览(125)

是否可以删除HDFS目录中的文件,但不能删除子目录?我有一条路像:/hdfs/test/folder/不知道里面有什么。
我希望删除所有文件,例如:
/hdfs/test/folder/file.txt
但忽略所有子目录:

/hdfs/test/folder/data/
/hdfs/test/folder/pipline/

字符串
我只知道命令hdfs dfs -rm -r /hdfs/test/folder/*,但它被删除所有内部目录。

huwehgph

huwehgph1#

hdfs dfs -rm -r /hdfs/test/folder/file*.txt
如果指定目录中的文件名符合条件,则会删除该文件名。

2izufjch

2izufjch2#

我接受了@OneCricketeer的建议。我使用Spark Scala API,能够过滤和删除所有文件:

val fs = FileSystem.get(spark.sparkContext.hadoopConfiguration)
val d = new Path(s"/hdfs/test/folder/")
fs.listStatus(d).filter(_.isFile).map(_.getPath).foreach(n => fs.delete(n))

字符串

相关问题