2013-06-30 90 views
1

我想設計一個web項目,當用戶上傳文件到hadoop hdfs時,用戶可以通過web看到他們的上傳狀態。有沒有簡單的Java API?通過web進度條跟蹤hadoop文件上傳狀態?

任何人都可以幫忙嗎?

現在我只知道如何使用api將文件上傳到hdfs。

public synchronized static void upload(FileSystem fs, String local, 
     String remote) { 
    // Path home = fs.getHomeDirectory(); 
    Path workDir = fs.getWorkingDirectory(); 
    Path dst = new Path(workDir + "/" + remote); 
    Path src = new Path(local); 
    try { 
     fs.copyFromLocalFile(false, true, src, dst); 
     log.info("upload " + local + " to " + remote + " successed. "); 
    } catch (Exception e) { 
     log.error("upload " + local + " to " + remote + " failed :" 
       + ExceptionUtils.getFullStackTrace(e)); 
    } 
} 

回答

0

您可能會發現FileStatus類有用。通過這個課程,您可以獲得幾乎所有用戶可能想知道的必要信息,例如獲取文件的訪問時間,文件的修改時間,文件的長度等等。

而且,由於您在說話關於一個網絡應用程序,我會建議你看看WebHDFS REST API。它允許你提交一個GET HTTP請求,它會發送一個FileStatus JSON object作爲迴應。然後,您可以輕鬆使用此JSON對象通過網頁向用戶顯示狀態。

HTH