如何从 Hadoop 集群中删除名称中有逗号(,)的目录?

我已经上传了一个目录到 hadoop 集群,在其名称中有“ ,” 如“ MyDir,Name”当我尝试使用 rmrhadoop shell 命令删除这个目录时 如下所示

hadoop dfs -rmr hdfs://host:port/Navi/MyDir, Name

我收到了以下信息 不能删除 hdfs://host: port/Navi/MyDir,: 没有这样的文件或目录。 不能删除 Name: 没有这样的文件或目录。

然而,我已经成功地删除其他目录从同一位置,使用相同的命令 也就是说。

hadoop dfs -rmr hdfs://host:port/dir_path

删除此类目录的任何解决方案。

299931 次浏览

你有没有试过:

hadoop dfs -rmr hdfs://host:port/Navi/MyDir\,\ Name

在这里 你可以找到所有 hadoop shell 命令:

删除 : RMR 用法: hadoop fs -rmr URI [URI …]

删除的递归版本。

例如:

hadoop fs -rmr /user/hadoop/dir
hadoop fs -rmr hdfs://nn.example.com/user/hadoop/dir

退出密码:

成功时返回0,错误时返回 -1。

或者如果你不知道网址,你可以使用

hadoop fs -rm -r -f /user/the/path/to/your/dir

现在试试 hadoop dfs -rm -r hdfs://host:port/Navi/MyDir\,\ Name

$ hadoop fs -rmdir {directory_name}
hdfs dfs -rm -r /path/to/directory

在 hadoop1.0中:

hadoop fs -rmr /PATH/ON/HDFS

在 hadoop2.0中:

hdfs dfs -rm -R /PATH/ON/HDFS

使用 \转义路径中的 ,

或者你可以: hadoop fs -rm -r PATH

提示: 如果你输入: hadoop fs -rmr PATH 你通常会得到: 请用‘ rm-r’代替。

在终端中运行命令

$hadoop fs -rm -r /path/to/directory