我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 项目源码 > hadoop实现web上传、下载、更新、删除和文件追加
总共48087条微博

动态微博

查看: 3818|回复: 4

hadoop实现web上传、下载、更新、删除和文件追加

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-05-10 15:48:55 |只看该作者 |倒序浏览
          Hadoop是一个能够对大量数据进行分布式处理的软件框架。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上
    ; p5 a, S5 N# ^+ e, L2 o上传:; M" w' r8 B. [
    1. /**
      6 _+ O. ]9 A) j) M
    2. *  & G- A- J& {$ |4 k2 |8 _, M
    3. * 上传控制类,上传页面跳转到这里3 F: ^9 s0 d9 B& B
    4. * 9 `5 V% O8 k7 ~' x
    5. * @author  科帮网8 i; c, O5 r) k3 L6 ?2 ]
    6. * @version  [版本号, 2012-08-02] # Q3 S# i  Z; E' J
    7. * @see  [相关类/方法]
      0 y0 X! h9 K. U# P
    8. * @since  version 1.0
      ( K" J. ^; f9 v$ C3 r
    9. */. Z9 d' a- Q* o
    10. public class UploadHDFSServlet extends HttpServlet {7 Z6 o7 a* z/ x; L: P: I0 _
    11. . Z8 q" P! [3 [! u& z" K. T
    12.         /** *6 O! E, `5 R, E8 T* N2 t& Q, k4 f2 `
    13.          * * 该方法负责上传控制处理页面         * , x7 y$ n' M% k0 ]& p
    14.          * @param request 客户端到服务器的请求消息
      / {9 o" X% Y4 K9 w6 K
    15.          * @param response 服务器返回给页面的消息
      8 t/ n- N& D( W! @) j9 V# k+ R
    16.          * @throws ServletException 3 K0 A( i" g  p9 E5 H% f
    17.          * @throws IOException . x+ Z' Q3 L* d8 n- ~& }
    18.          */+ H' R# [' D: g5 f: Y
    19.         public void doPost(HttpServletRequest request, HttpServletResponse response)
      / U* b2 m. q% r3 f% S/ z& X
    20.                         throws ServletException, IOException {" {+ k1 l% V  e4 g7 t4 j! i
    21.                 boolean isMultipart = ServletFileUpload.isMultipartContent(request);
      ! {* w7 ~- _( Z7 \1 V  s" z
    22.                 if(!isMultipart){
      # n+ ]  R% |5 E6 d
    23.                 }else{                       
      " r  o% y8 g' z  y
    24.                         FileItemFactory factory = new DiskFileItemFactory();
      / b$ `7 C+ T8 w1 c1 |
    25.                         ServletFileUpload upload = new ServletFileUpload(factory);& k# O: y: k1 n: x+ D7 b
    26.                         try {. k6 X9 s  \# x9 Z, X6 R
    27.                                 List items = upload.parseRequest(request);                       
      7 z3 ~5 [% Y/ |& A5 z' J0 n
    28.                                 Iterator iter = items.iterator();
      8 b, V9 P9 A$ D2 p9 _
    29.                                 while(iter.hasNext()){; F& J' Q$ `3 w5 \% o* z
    30.                                         FileItem item = (FileItem)iter.next();1 n# d: b7 s5 _( |- e1 Q" n
    31.                                         if(item.isFormField()){2 r1 v& z3 o& x" ]4 ~
    32.                                                 String name = item.getFieldName();
      9 [0 Z2 f+ G8 L9 M5 t* z' P
    33.                                                 System.out.println(name);
      4 ?* k8 q$ Q# D5 k: O
    34.                                         }else{
      4 `5 d) o+ P+ n- X
    35.                                                 //表单名字
      : M! y5 d! g; |& ^% K8 a$ K
    36.                                             String fileName = item.getName();
      $ W/ I5 [: ^' d4 N3 p0 B; V3 S' S
    37.                                             InputStream uploadedStream = item.getInputStream();
      " K9 W: E, S$ O
    38.                                             HDFSOperation hdfsOperation = new HDFSOperation();8 C: L8 B7 J; o& L( w
    39.                                             
      6 v( n$ p' @2 [3 k. _* S
    40.                                             String hdfsPath = dfs.HDFSConfig.getHDFSPath() + fileName;8 T6 k% S3 T1 P4 X, o9 D
    41.                                             boolean flag = hdfsOperation.upLoad(uploadedStream, hdfsPath);        + D* |4 z9 O9 K. r6 D
    42.                                             
      : \9 A% Y5 t/ @0 N! L
    43.                                             if(flag){5 m$ Y7 W: b9 I; m
    44.                                                     response.sendRedirect("success.jsp");% M  q) t& d7 [* m. L" }) V! n
    45.                                             }else{
      6 O  T3 \3 D% |. A8 Z2 d: o1 |; O" e
    46.                                                     response.sendRedirect("failure.jsp");
      - _6 D7 F/ h5 x9 o
    47.                                             }
      4 O: \  s( ]' o7 U
    48.                                         }. H& X- h8 K$ L2 r) S+ ^
    49.                                 }; a. D; T3 X' K' f* W4 E( e
    50.                                
      6 h: h, O/ ?% t" v% K2 B- ?' x# g  I& Y7 G
    51.                         } catch (Exception e) {                                2 Y5 K6 C! h- M7 l  ~
    52.                                 e.printStackTrace();
      & t. ?) r, F" s. u  P
    53.                         }
      ' m. B8 X+ u9 b% U) m
    54.                 }               
      " e6 b& C% X- `* |+ i1 M8 W4 r4 @
    55.         : _! U6 X/ |; Q( x; R. S" g
    56.         }6 t2 H+ ?$ U% |$ g: `
    57. 0 c5 e8 [2 |, ?3 V
    58. }
    复制代码
    配置:" E1 b$ [2 T* u% L) j) x3 y% a- D
    1. <configuration>
      , s+ W# v1 |- }- ?' ]
    2.   <property>. k7 X4 L6 E6 }
    3.      <name>fs.default.name </name>6 T' P% I; R9 O5 s# K' C/ b- f
    4.      <value>hdfs://10.6.12.101:8888</value>, a) B( i" f3 _9 r2 L
    5.   </property>! E) |- X. v0 w5 Q: ]2 v* c
    6. <property>) a) R3 _: Z: G+ ~" a/ R4 T! t
    7. <name>hadoop.tmp.dir</name>
      ; Y8 T7 i6 P3 Z3 V. G. {
    8. <value>/home/hadoopuser/tmp</value>
      , h9 ]. g  c6 K& z. V# O
    9. </property>) f! `% u& ^2 \6 @: c
    10. </configuration>
    复制代码
    源码下载地址:点击下载& W& B6 z. v9 c0 K  U" B
    6 F' U  F2 S# n# q
    7 d3 E+ M" ~. [
    9 o! k: M5 k* f; R( O: A8 X0 d

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    3

    主题

    4

    听众

    133

    金钱

    三袋弟子

    该用户从未签到

    80后 推广达人

    沙发
    发表于 2014-05-13 16:24:01 |只看该作者
    如果可以做一个样板出来就更好了~
    回复

    使用道具 举报

    3

    主题

    0

    听众

    212

    金钱

    四袋长老

    该用户从未签到

    板凳
    发表于 2016-03-07 17:49:05 |只看该作者
    很不错哟,谢谢楼主,受教了。
    回复

    使用道具 举报

    woniu 实名认证   

    2

    主题

    0

    听众

    330

    金钱

    四袋长老

    该用户从未签到

    地板
    发表于 2016-04-12 12:03:24 |只看该作者
    这个项目太棒勒!下下来学习下!
    回复

    使用道具 举报

    5

    主题

    0

    听众

    316

    金钱

    四袋长老

    该用户从未签到

    5#
    发表于 2017-08-14 08:44:54 |只看该作者
    不错不错不错,学习一下
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表