大数据接私活200元,做个简易的HDFS浏览器(一)
需求
接到一个单子说是用制作一个简单的HDFS浏览器。
功能包括:基于HDFS的文件浏览、上传和下载。
文章图片
需求分析
? 用到的技术包括Java、HDFSAPI、tomcat的配置等
代码实现
项目架构:
文章图片
Controller层代码:
@Controller
@RequestMapping("/hdfs")
public class hdfsController {private hdfsService hdfsService;
public hdfsService getHdfsService() {
return hdfsService;
}
@Resource
public void setHdfsService(hdfsService hdfsService) {
this.hdfsService = hdfsService;
}@RequestMapping("/delete")
public String toDelete(@RequestParam(value="https://www.it610.com/article/path",required=false) String path)
throws IOException{
hdfsService.delete(path);
return "success";
}@RequestMapping(value="https://www.it610.com/ls",method=RequestMethod.GET)
public ModelAndView home(@RequestParam(value="https://www.it610.com/article/path",required=false) String path, HttpServletRequest request, HttpServletResponse response)
throws Exception {
ModelAndView model = new ModelAndView();
if (StringUtils.isEmpty(path)) {
path = "/";
}
List hdfsFiles =hdfsService.ls(path);
model.addObject("file", hdfsFiles);
model.setViewName("/ls");
return model;
}@RequestMapping("/download")
public String toDownload(@RequestParam(value="https://www.it610.com/article/path",required=false) String path)
throws IOException{
hdfsService.download(path);
return "success";
}@RequestMapping(value="https://www.it610.com/upload")
public String upLoad(HttpServletRequest request, HttpServletResponse response)
throws IllegalStateException, IOException{
//解析器解析request的上下文
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
//先判断request中是否包涵multipart类型的数据,
if(multipartResolver.isMultipart(request)) {
//再将request中的数据转化成multipart类型的数据
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
Iterator iter = multiRequest.getFileNames();
while(iter.hasNext()) {
MultipartFile file = multiRequest.getFile(iter.next());
if(file != null) {
String FileName = file.getOriginalFilename();
System.out.println(FileName);
CommonsMultipartFile cf= (CommonsMultipartFile)file;
DiskFileItem fi = (DiskFileItem)cf.getFileItem();
File inputFile = fi.getStoreLocation();
hdfsService.createFile(inputFile, "hdfs://192.168.88.100:8020/upload/"+FileName);
}
}
}
return "success";
}
前端部分页面:
HDFS文件管理器 - 锐客网
文件名
文件大小
拥有者
权限
时间
操作
${file.fileName}
${file.fileSize}
${file.owner}
${file.permission}
${file.modificationTime}
删除
下载
效果演示
【大数据课设&毕设|大数据接私活200元,做个简易的HDFS浏览器(一)】HDFS简易Web浏览器
HDFS简易Web浏览器_哔哩哔哩_bilibili
总结 比较轻松的需求,主要是之前做过类似的小项目直接拿来用即可。
如果想要接Java和大数据方面私活的,有赚零花钱想法的,可以点下方的小卡片与我联系。
推荐阅读
- 安装教程|Linux-安装Redis(详细教程)
- 基于Web的酒店客房管理系统的设计与实现
- spring|Spring Cloud构建分布式微服务架构 - 企业分布式微服务云架构构建
- 分享Spring Cloud分布式微服务架构源码结构
- java|SpringCloud 分布式微服务架构
- spring|Spring Cloud分布式微服务云架构服务组件
- 秋春招总结|Java集合类型面试最全总结【易错,易问】
- java|牛客刷题日记(一)
- C#|c#子线程与主线程之间的通信