可以用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()); } }