2017-08-04 55 views
0

我需要检查我的代码是否对hdfs中的目录具有写权限。所以我想使用hdfs.checkPermission(Path path)之类的东西,但我只在API中看到setPermission(Path p, FsPermission permission)方法。我该怎么做? 当然,我可以在目录中创建一个文件,如果我没有写入权限但是不是我想要做的,则会捕获“权限被拒绝”的异常。HDFS Java API checkPermissions

回答

1

getPermission提供含FileStatus对象

val hdfs = org.apache.hadoop.fs.FileSystem.get(new org.apache.hadoop.conf.Configuration()) 

val permissions = hdfs.getFileStatus(new Path("/user/cloudera/text.txt")).getPermission 

org.apache.hadoop.fs.permission.FsPermission = rwxrwxrwx