2017-08-04 66 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