需求:
需要获取hdfs文件的元数据信息,包括复制个数,是否为文件等
实现:
基于FileStatus,代码如下:
String filePath = "/hadoop/yourfile"; Configuration configuration = new Configuration(); FileSystem hdfs = FileSystem.get(configuration); FileStatus fileStatus = hdfs.getFileStatus(new Path(filePath)); long accessTime = fileStatus.getAccessTime(); long modificationTime = fileStatus.getModificationTime(); boolean isDir = fileStatus.isDir(); long blockSize = fileStatus.getBlockSize(); String group = fileStatus.getGroup(); long len = fileStatus.getLen(); String owner = fileStatus.getOwner(); //FsPermission封装了文件操作权限 FsPermission fsPermission = fileStatus.getPermission(); short replicationNum = fileStatus.getReplication();