如何递归列出 HDFS 的子目录?
How can I list subdirectories recursively for HDFS?
我在 HDFS 中递归创建了一组目录。如何列出所有目录?对于普通的 unix 文件系统,我可以使用以下命令
find /path/ -type d -print
但我想为 HDFS 获取类似的东西。
递归列出目录内容可以使用hadoop dfs -lsr /dirname
命令。
要仅过滤目录,您可以在上述命令的输出中 grep
"drwx" (因为所有者对目录具有 rwx 权限)。
因此整个命令如下所示。
$hadoop dfs -lsr /sqoopO7 | grep drwx
@Shubhangi Pardeshi 给出的答案是正确的,但对于最新的 hadoop 版本命令已弃用。所以新的最新命令可以如下使用
hdfs dfs -ls -R /user | grep drwx
以下方法对于只获取目录应该更可靠,因为它对权限的依赖较少。
hdfs dfs -ls -R /folder | grep "^d"
我在 HDFS 中递归创建了一组目录。如何列出所有目录?对于普通的 unix 文件系统,我可以使用以下命令
find /path/ -type d -print
但我想为 HDFS 获取类似的东西。
递归列出目录内容可以使用hadoop dfs -lsr /dirname
命令。
要仅过滤目录,您可以在上述命令的输出中 grep
"drwx" (因为所有者对目录具有 rwx 权限)。
因此整个命令如下所示。
$hadoop dfs -lsr /sqoopO7 | grep drwx
@Shubhangi Pardeshi 给出的答案是正确的,但对于最新的 hadoop 版本命令已弃用。所以新的最新命令可以如下使用
hdfs dfs -ls -R /user | grep drwx
以下方法对于只获取目录应该更可靠,因为它对权限的依赖较少。
hdfs dfs -ls -R /folder | grep "^d"