TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
Hadoop是一个能够对大量数据进行分布式处理的软件框架。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上& j5 X( V& M. G1 x% t2 @ P# z5 |
上传:5 L; @, g, b- _4 r7 m. ~; i
- /**
$ o4 }" p* N3 j) i6 ~5 { - * `* W" {, w% J
- * 上传控制类,上传页面跳转到这里
5 k. Y# b& k9 [& S9 p4 k - * ]: \+ q: ^, F: T
- * @author 科帮网
% o6 p( l; H! q. O - * @version [版本号, 2012-08-02]
( p; [" _% m2 l - * @see [相关类/方法]
3 _; C1 w# m9 Y) {% ^ - * @since version 1.0
# R$ u- W- M; Q4 D6 m2 a - */6 q6 Y, w+ `. X/ t. U
- public class UploadHDFSServlet extends HttpServlet {/ j* M) y, X" s: e5 f! s
: q( q, d$ @( _/ L- /** *. _1 J* ]: W1 v6 x! x) o
- * * 该方法负责上传控制处理页面 * 8 o% g V! f% G- U1 q
- * @param request 客户端到服务器的请求消息. r. G, t0 Q% C; T" m2 X
- * @param response 服务器返回给页面的消息* K$ ?& D( h' j; Q) M) {
- * @throws ServletException W3 N t4 k" d, T5 `
- * @throws IOException $ S8 ~6 i2 c" Z1 p' D' _" j
- */" U2 K7 H# R; l" Q2 Q$ M
- public void doPost(HttpServletRequest request, HttpServletResponse response). |# t$ r, i. n0 \% {; j4 `
- throws ServletException, IOException {8 t, y0 f, g. a$ I# v
- boolean isMultipart = ServletFileUpload.isMultipartContent(request);
) ]$ e/ ?$ ~5 z& p - if(!isMultipart){
3 |5 r; [1 v! H - }else{
c, J1 G7 F8 R' G! Q& n - FileItemFactory factory = new DiskFileItemFactory();* ~4 c6 K$ `2 n! l
- ServletFileUpload upload = new ServletFileUpload(factory);
6 J3 ^* f2 n) f, c - try {, A( S# w* V) H- w) E
- List items = upload.parseRequest(request);
1 x# {8 N. m' V/ b - Iterator iter = items.iterator();
1 M0 u* v0 f$ ^% M2 F - while(iter.hasNext()){' i+ M; w1 u" [! i- O. T: F5 v
- FileItem item = (FileItem)iter.next();+ F6 F: H; {6 M
- if(item.isFormField()){
5 W* O( E/ v( E2 v9 H - String name = item.getFieldName();- s& f( I5 Z7 r
- System.out.println(name);
. E% S( s' q' {/ C5 [, ]% b4 m. c - }else{* v; \5 a Y/ T2 z; X( X
- //表单名字! I( _1 X; J1 D0 ?! m4 o' N
- String fileName = item.getName();" W0 R" M7 Y; C6 j3 P
- InputStream uploadedStream = item.getInputStream();
* Y6 I4 m0 ]3 Q9 d. F$ x - HDFSOperation hdfsOperation = new HDFSOperation();
. T/ `9 V3 I m2 H2 X - " t) u0 {# ?5 J1 _, P% B) v
- String hdfsPath = dfs.HDFSConfig.getHDFSPath() + fileName;6 ?$ T' E6 z% g
- boolean flag = hdfsOperation.upLoad(uploadedStream, hdfsPath);
, b7 ~* Z6 u1 w2 O8 P( i - 7 b5 x- S& u* Z# `0 n) w
- if(flag){7 b; ^1 q0 W% E: \5 [5 U) m8 D: N
- response.sendRedirect("success.jsp");
7 l( X7 A; S9 u3 k7 ~ - }else{
3 R7 ]4 W D$ O# D2 {4 f$ o - response.sendRedirect("failure.jsp");$ s! A% c; G5 t& o
- }5 S& z4 F8 M% t' {; M
- }0 C) j$ a" c2 p' [! f" t m
- }
) _2 ]3 a- a+ c( i' P - 9 u2 z& R2 x# v1 ~4 o
- } catch (Exception e) { 3 u: C0 i. g1 ?2 p$ t0 K Y
- e.printStackTrace();. z7 b9 Y7 k& H" }( l7 P
- }7 G- {; C5 z' k( B8 z% y8 J
- } 2 X: k2 G7 P9 ~: l
-
5 t T4 }; p9 v0 a" x/ p - }
" \% n. ?( ~- s$ U& c
2 C3 B- A; a* A- }
复制代码 配置:) b0 Y6 S4 ^! g {; C% F8 A
- <configuration>
% Y3 v4 h; ~' b) R: @- [ - <property>
% D4 j( F) F4 k. ? - <name>fs.default.name </name>) X3 G9 G( j+ f9 L
- <value>hdfs://10.6.12.101:8888</value>* \# V! v/ }! e" l
- </property>; B0 X9 Z3 [3 A( U6 b, A
- <property>: l W0 B& q1 j D( j0 s$ r7 V) x
- <name>hadoop.tmp.dir</name>! |5 f4 x9 P4 L" Z2 _; K4 s8 o
- <value>/home/hadoopuser/tmp</value>
( V8 ]( i4 U/ b! x$ E- R7 A0 R. w - </property>
. Q8 D8 x; C: r - </configuration>
复制代码 源码下载地址:点击下载
. w; `$ f3 k8 W' f0 f2 x
; [7 t) Y0 P7 c( U% s- x, D* s& h4 W$ ~" A" z7 t
8 n( P* W9 {& L$ ` |
|