通过网络进度条跟踪hadoop文件上传状态?

时间:2013-06-30 12:39:26

标签: hadoop hdfs progress

我想设计一个网络项目,当用户将文件上传到hadoop hdfs时,用户可以通过网络查看他们的上传状态。有没有简单的java api?

有人可以帮忙吗?

现在我只知道如何使用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));
    }
}

1 个答案:

答案 0 :(得分:0)

您可能会发现FileStatus课程很有用。通过这个课程,您可以获得用户可能想知道的几乎所有必要信息,例如获取文件的访问时间,文件的修改时间,文件长度等等。

而且,既然你在谈论一个网络应用程序,我建议你看一下WebHDFS REST API。它允许您提交GET HTTP请求,该请求将发送FileStatus JSON object作为响应。然后,您可以轻松地使用此JSON对象通过网页向用户显示状态。

HTH