我有一组以递归方式在HDFS中创建的目录。如何列出所有目录?对于普通的unix文件系统,我可以使用以下命令
find /path/ -type d -print
但我想为HDFS获得类似的东西。
答案 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"