【发布时间】:2020-08-21 03:02:14
【问题描述】:
我正在清理环境。我想递归执行以下命令,而无需对每个子文件夹进行硬编码。因为我在 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 大数据工具,所以我可以使用 java 但不确定逻辑。
-
在高层次上,从 Hadoop 导入
FileSystem对象,然后遍历文件夹并删除(路径,假)...但确保目录保留 hadoop.apache.org/docs/r2.8.2/api/org/apache/hadoop/fs/…跨度>