如何通过Java在HDFS下的特定路径中递归地列出所有文件。我查阅了API,发现FileSystem.listFiles(Path,boolean)这个方法,但是在我初始化它的实例时,貌似该方法并不存在。
使用-R参数跟随ls命令来递归列出文件/目录。
hadoop fs -ls -R Path/Of/File
ls命令可能的属性有
-d:列出目录而非目录中的内容。
-h:以易于理解的方式格式化文件大小,而不是以字节数表示。
-R:递归地列出目录的内容。
使用带有-R选项的hdfs cli
hdfs dfs -ls -R /path/to/
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