是否可以删除HDFS目录中的文件,但不能删除子目录?我有一条路像:/hdfs/test/folder/不知道里面有什么。我希望删除所有文件,例如:/hdfs/test/folder/file.txt个但忽略所有子目录:
/hdfs/test/folder/
/hdfs/test/folder/file.txt
/hdfs/test/folder/data/ /hdfs/test/folder/pipline/
字符串我只知道命令hdfs dfs -rm -r /hdfs/test/folder/*,但它被删除所有内部目录。
hdfs dfs -rm -r /hdfs/test/folder/*
huwehgph1#
hdfs dfs -rm -r /hdfs/test/folder/file*.txt如果指定目录中的文件名符合条件,则会删除该文件名。
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))
字符串
2条答案
按热度按时间huwehgph1#
hdfs dfs -rm -r /hdfs/test/folder/file*.txt
如果指定目录中的文件名符合条件,则会删除该文件名。
2izufjch2#
我接受了@OneCricketeer的建议。我使用Spark Scala API,能够过滤和删除所有文件:
字符串