如何通过Java列出HDFS中某个路径下的所有文件(递归)?我浏览了API并注意到FileSystem.listFiles(Path,boolean),但在初始化FileSystem时,该方法似乎不存在于我的示例中。
fbcarpbf1#
您可以查看您的hadoop版本的org.apache.hadoop.fs.FsShell.ls(FileStatus, FileSystem, boolean, boolean)源代码-这是从命令行执行hadoop fs -lsr path时调用的代码
org.apache.hadoop.fs.FsShell.ls(FileStatus, FileSystem, boolean, boolean)
hadoop fs -lsr path
clj7thdc2#
使用-R后跟ls命令以递归方式列出文件/目录。
hadoop fs -ls -R Path/Of/File
ls命令的可能属性包括
-d:目录作为普通文件列出。-h“以人类可读的方式(而不是字节数)格式化文件的大小。-R“递归列出目录的内容。
kse8i1jr3#
hadoop-user@hadoop-desk ~/hadoop $ bin/hadoop fs -lsr /user/someone_else/myfiles -rw-r--r-- 1 hadoop-user supergroup 0 2013-11-26 02:09 /user/someone_else/myfiles/file1.txt -rw-r--r-- 1 hadoop-user supergroup 0 2013-11-26 02:09 /user/someone_else/myfiles/file2.txt drwxr-xr-x - hadoop-user supergroup 0 2013-11-26 02:09 /user/someone_else/myfiles/subdir -rw-r--r-- 1 hadoop-user supergroup 0 2013-11-26 02:09 /user/someone_else/myfiles/subdir/anotherFile.txt
r8xiu3jd4#
使用带有-R选项的hdfs cli
hdfs dfs -ls -R /path/to/
4条答案
按热度按时间fbcarpbf1#
您可以查看您的hadoop版本的
org.apache.hadoop.fs.FsShell.ls(FileStatus, FileSystem, boolean, boolean)
源代码-这是从命令行执行hadoop fs -lsr path
时调用的代码clj7thdc2#
使用-R后跟ls命令以递归方式列出文件/目录。
ls命令的可能属性包括
-d:目录作为普通文件列出。
-h“以人类可读的方式(而不是字节数)格式化文件的大小。
-R“递归列出目录的内容。
kse8i1jr3#
r8xiu3jd4#
使用带有-R选项的hdfs cli