HDFS Java API checks permissions… here is a solution to the problem.
HDFS Java API checks permissions
I need to check if my code has write access to directories in hdfs. So I want to use a method like hdfs.checkPermission(Path path),
but I only see the setPermission(Path p, FsPermission permission)
method in the API. What should I do?
Of course, if I don’t have write permission, I can create a file in the directory and catch the exception “permission denied”, but that’s not what I want to do.
Solution
getPermission
is available for FileStatus
objects
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