Hadoop 如何从HDFS中的目录结构中删除所有文件?

Hadoop 如何从HDFS中的目录结构中删除所有文件?,hadoop,recursion,hdfs,Hadoop,Recursion,Hdfs,我希望能清理环境。我希望递归地执行以下命令,而无需对每个子文件夹进行硬编码。因为我在HDFS目录中有数百个子文件夹 hadoop fs -rm -r /a/b1/c1/d1.txt hadoop fs -rm -r /a/b2/c2/d2.txt hadoop fs -rm -r /a/b3/c3/d3.txt hadoop fs -rm -r /a/bn/cn/dn.txt 我想删除所有文件,但不删除目录或子目录。我不知道如何使用递归命令保留HDFS中的目录结构,同时删除其中的所有文件

我希望能清理环境。我希望递归地执行以下命令,而无需对每个子文件夹进行硬编码。因为我在HDFS目录中有数百个子文件夹

hadoop fs -rm -r /a/b1/c1/d1.txt

hadoop fs -rm -r /a/b2/c2/d2.txt

hadoop fs -rm -r /a/b3/c3/d3.txt

hadoop fs -rm -r /a/bn/cn/dn.txt

我想删除所有文件,但不删除目录或子目录。我不知道如何使用递归命令保留HDFS中的目录结构,同时删除其中的所有文件。

您不能从命令行保留目录,您需要在脚本中迭代目录(Java将是最简单的),因此我使用Talend big data tool,这样我可以使用Java,但不确定逻辑。从较高的层次来看,从Hadoop导入
文件系统
对象,然后在文件夹上迭代并删除(path,false)。。。但是要确保目录被保存
hadoop fs -ls -R /directory/structure/ | grep "\.json" | awk '{print $8}' | xargs -I{} hadoop fs -rm "{}"