可以用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; public class FileInfo { public static void main(String[] args) throws Exception { if(args.length != 1){ System.out.println("Usage FileInfo <target>"); System.exit(1); } Configuration conf = new Configuration(); FileSystem hdfs = FileSystem.get(URI.create(args[0]),conf); FileStatus fs = hdfs.getFileStatus(new Path(args[0])); System.out.println("path: "+fs.getPath()); System.out.println("length: "+fs.getLen()); System.out.println("modify time: "+fs.getModificationTime()); System.out.println("owner: "+fs.getOwner()); System.out.println("replication: "+fs.getReplication()); System.out.println("blockSize: "+fs.getBlockSize()); System.out.println("group: "+fs.getGroup()); System.out.println("permission: "+fs.getPermission().toString()); } }