TA的每日心情 衰 2021-2-2 11:21
签到天数: 36 天
[LV.5]常住居民I
Hadoop是一个能够对大量数据进行分布式处理的软件框架。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上6 N. @5 }$ h( Z
上传:- F. ^; X, h2 ^4 t5 I, U, O9 p
/**
. v1 Z6 ]6 }# A! } *
: @$ ^) r* _. a& ]. s * 上传控制类,上传页面跳转到这里
& q/ a5 A- l% @& W3 u *
/ _% [* M7 A5 w$ y/ N/ b * @author 科帮网5 p$ A4 n+ u% Z# H
* @version [版本号, 2012-08-02] * W$ M" I v& H2 A5 Q1 G
* @see [相关类/方法] 1 J. U: ~0 V) \( c% o; t
* @since version 1.0
/ J5 H/ U( _! q. G* f */
Q C8 }3 m$ A& g* H) T public class UploadHDFSServlet extends HttpServlet {
+ k2 q, i+ E/ \8 V+ I 0 b d$ z5 S# ~* p8 |+ _
/** *+ a' S- ]/ g4 M. }' U9 B. a7 Z q; v
* * 该方法负责上传控制处理页面 * ' w: `. ~# w) R c }. r9 v2 i2 [
* @param request 客户端到服务器的请求消息6 K- f6 q) Q$ G! V, L; F
* @param response 服务器返回给页面的消息
x2 {1 M8 u- _9 Z$ } * @throws ServletException ; I9 c, a) y" s2 z, Q' {0 l
* @throws IOException
% L; K2 v: A1 l5 A4 f *// \" L, r5 Q/ v, H9 E* ?
public void doPost(HttpServletRequest request, HttpServletResponse response)
# s+ c1 @, ^3 ?% R throws ServletException, IOException {) b6 ~$ ^2 g' r1 H7 I2 o0 ]5 H
boolean isMultipart = ServletFileUpload.isMultipartContent(request);* w& K# Z. l* p# \7 \3 C0 U. b5 a
if(!isMultipart){
3 L$ P" i. j g& ` }else{
0 k. [, q) b* i& B: U% m5 A FileItemFactory factory = new DiskFileItemFactory();
) B8 k2 }! e" B ServletFileUpload upload = new ServletFileUpload(factory);% Z& d, d! L3 k* @' a. t$ d
try {& Z6 l! _ P) r, n5 C9 a
List items = upload.parseRequest(request); 0 P. M' w/ o( h) c9 X
Iterator iter = items.iterator();
* G0 u4 E0 ~& g9 l4 ~ while(iter.hasNext()){
! @; R1 s+ k. K' q" d7 G6 A) q FileItem item = (FileItem)iter.next();' H2 D5 @! l4 G$ [! }5 G+ G
if(item.isFormField()){# `* I) W& O' l+ N
String name = item.getFieldName();* h1 b9 q: k2 A' h5 W& j
System.out.println(name);& S, \: o# b/ Q P& q( X6 i
}else{; y6 W; K ]6 Z3 U
//表单名字5 L9 }7 i, l/ u7 c `
String fileName = item.getName();
: V$ M4 C! N C# W/ k InputStream uploadedStream = item.getInputStream();# l6 l7 N* `8 i3 J: I1 h
HDFSOperation hdfsOperation = new HDFSOperation();! ]9 N) B% s5 B& h9 F; D& I2 A
; z5 o3 ^) c1 p( B+ Y
String hdfsPath = dfs.HDFSConfig.getHDFSPath() + fileName;
% x& ]2 \9 |" _' ` boolean flag = hdfsOperation.upLoad(uploadedStream, hdfsPath); 0 }2 s: R+ O- Q7 ^: k& ] C! q6 E8 U
9 q( Q: }% f' _9 y/ X x
if(flag){
/ O: l F$ y8 I% q3 R+ D response.sendRedirect("success.jsp");8 e! A7 O4 b# P
}else{2 {: `% p, \+ o0 K! }
response.sendRedirect("failure.jsp");% [% G; M9 J, L! q
}* k* g# P( e3 d+ h* ?
}
. X4 j6 k$ ]1 l1 {( | }1 z4 h! o& T' Z4 w( r
U/ j" ?7 v/ u+ P5 n } catch (Exception e) { % [) c- E) d1 D3 G" B6 a. F& F2 D6 l
e.printStackTrace();
( e: }2 n# m& n5 q$ ]" K0 R }, c' p# }0 M2 k7 I0 H
}
6 ^4 O+ y3 }) @- V! w 5 W- l c; o* G6 {
}' O+ W1 D1 }$ U& ?" d1 F4 r
( ?3 e! C+ ~( b7 C) C2 l7 J
} 复制代码 配置:) s* T* {. J& L# |6 g
<configuration>. s" G( z3 W; u" k0 W1 j1 `8 V, f
<property>
8 y- H* @$ _0 I( E0 X+ m <name>fs.default.name </name>! q0 u! s/ n" f6 n
<value>hdfs://10.6.12.101:8888</value>8 z0 V/ {1 Y4 U' D- V
</property>
d/ u% Q7 E! \8 h& q" H2 t" T <property>
/ {1 B0 I |5 q! H! ^/ d <name>hadoop.tmp.dir</name>. V8 F2 E( h, }/ z% k% ?3 \4 E1 N
<value>/home/hadoopuser/tmp</value>6 d" z% ~: [* r A2 I/ J
</property>
3 a/ I; ]. w3 j. \4 ^- Q# q </configuration> 复制代码 源码 下载地址:点击下载 % V8 v0 D( M9 N- |% y% Q
+ A- W& |+ b% B0 [3 {
$ t! g, n8 z! v2 e3 e4 s6 P # o4 l, Y: V3 {. L5 R
科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关2、本站所有主题由该帖子作者发表,该帖子作者与科帮网 享有帖子相关版权3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网 的同意4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意7、科帮网 管理员和版主有权不事先通知发贴者而删除本文
JAVA爱好者①群:
JAVA爱好者②群:
JAVA爱好者③ :