我想设计一个网络项目,当用户将文件上传到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));
}
}
答案 0 :(得分:0)
您可能会发现FileStatus课程很有用。通过这个课程,您可以获得用户可能想知道的几乎所有必要信息,例如获取文件的访问时间,文件的修改时间,文件长度等等。
而且,既然你在谈论一个网络应用程序,我建议你看一下WebHDFS REST API。它允许您提交GET HTTP请求,该请求将发送FileStatus JSON object作为响应。然后,您可以轻松地使用此JSON对象通过网页向用户显示状态。
HTH