hadoop HDFS:如何递归列出文件?

ecbunoof  于 2022-12-03  发布在  Hadoop
关注(0)|答案(4)|浏览(351)

如何通过Java列出HDFS中某个路径下的所有文件(递归)?我浏览了API并注意到FileSystem.listFiles(Path,boolean),但在初始化FileSystem时,该方法似乎不存在于我的示例中。

fbcarpbf

fbcarpbf1#

您可以查看您的hadoop版本的org.apache.hadoop.fs.FsShell.ls(FileStatus, FileSystem, boolean, boolean)源代码-这是从命令行执行hadoop fs -lsr path时调用的代码

  • 0.20.2 -第593行
  • 1.0.2 -生产线590
clj7thdc

clj7thdc2#

使用-R后跟ls命令以递归方式列出文件/目录。

hadoop fs -ls -R Path/Of/File

ls命令的可能属性包括

-d:目录作为普通文件列出。
-h“以人类可读的方式(而不是字节数)格式化文件的大小。
-R“递归列出目录的内容。

kse8i1jr

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
r8xiu3jd

r8xiu3jd4#

使用带有-R选项的hdfs cli

hdfs dfs -ls -R /path/to/

相关问题