2015-11-04 45 views
0

我想檢查hdfs目錄是否具有寫入權限。我可以看到文件的方法是否存在,但我沒有看到寫入權限或不在hdfs文件系統類中的方法。hdfs目錄 - 如何檢查寫入訪問

FileSystem fs = FileSystem.get(new Configuration()); 
if (fs.exists(new Path(cleanFilePath)) { 
     // do something. 
} 

而且也,當我嘗試寫一些RDD使用saveAsTextFile(),如果用戶不具有寫權限,它不拋出任何錯誤。我總能看到成功的狀態。

有人可以面對類似的問題,請幫助我。

回答

0

由於Hadoop FileSystem類似乎沒有此功能,因此可以使用Java File類完成此檢查。

File f = new File("path"); 
if(f.canWrite()) { 
    // write access 
} 

否則,如果最終需要更改路徑的權限,你可以使用:

FileSystem fs = FileSystem.get(new Configuration()); 
fs.setPermission(new Path(cleanFilePath), FsPermission permission) 
+0

我不知道我是否可以使用Java文件類呢?無論如何,我會明天檢查並通知你。 – Shankar

+0

太棒了,我很想知道結果是什麼! –