如何以递归方式列出HDFS的子目录?

时间:2015-06-25 17:14:50

标签: list hadoop find hdfs

我有一组以递归方式在HDFS中创建的目录。如何列出所有目录?对于普通的unix文件系统,我可以使用以下命令

find /path/ -type d -print

但我想为HDFS获得类似的东西。

3 个答案:

答案 0 :(得分:5)

要列出目录内容,可以使用递归hadoop dfs -lsr /dirname命令。

要仅过滤目录,您可以在上述命令的输出中grep“drwx”(因为所有者对目录具有rwx权限)。

因此整个命令如下所示。

$hadoop dfs -lsr /sqoopO7 | grep drwx 

答案 1 :(得分:4)

@Shubhangi Pardeshi给出的答案是正确的,但最新的hadoop version命令已弃用。所以新的最新命令可以用如下

hdfs dfs -ls -R /user | grep drwx

答案 2 :(得分:0)

以下方法应该更健壮,只获取目录,因为它对权限的依赖较小。

hdfs dfs -ls -R /folder | grep "^d"