HDFS——如何列出目录下的所有文件

2022-06-30 21:37:52 浏览数 (1)

可以用bin/Hadoop fs -ls 来读取HDFS某一目录下的文件列表及属性信息。

也可以采用HDFS的API来读取。如下:

import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileUtil; public class  FilesList {  public static void main(String[] args) throws Exception  {   if(args.length != 1){    System.out.println("Usage : FilesList <target>");    System.exit(1);   }   Configuration conf = new Configuration();   FileSystem hdfs = FileSystem.get(URI.create(args[0]),conf);   FileStatus[] fs = hdfs.listStatus(new Path(args[0]));   Path[] listPath = FileUtil.stat2Paths(fs);   for(Path p : listPath)    System.out.println(p);  } }

0 人点赞