我们使用hadoop将一个表拆分成较小的文件以供给mahout,但在此过程中,我们创建了大量的_temporary日志。
我们有一个用于hadoop卷的NFS挂载,所以我们可以使用所有linux命令来删除文件夹文件,但我们无法将它们删除,这是我到目前为止所尝试的:
hadoop fs -rmr /.../_temporary : hangs for hours and does nothing
在NFS安装上:
rmr -rf /.../_temporary :hangs for hours and does nothing
find . -name '*.*' -type f -delete : same as above
文件夹看起来像这样(_temporary中的38个文件夹):
drwxr-xr-x 319324 user user 319322 Oct 24 12:12 _attempt_201310221525_0404_r_000000_0
这些内容实际上是文件夹,而不是文件。这些319322文件夹中的每一个都只有一个文件。不知道为什么以这种方式进行记录。
对@ Matt的建议稍作评论:
—
noggerl
-name '*.*'
如果您只使用,则不需要 -type d
,也许我会使用这样的东西: find . -type d -delete
要么 find . -name "_temporary" -delete
(根据具体情况,可能存在不应删除的文件)。
尝试过,它永远挂起,不删除文件:/
—
user1745713
你能解决这个问题吗?在OS X中遇到完全相同的问题。
—
Ohad Schneider
-type f
将找到常规文件。你要-type d
如果你正在使用find
找到文件夹