通过java实现上传文件到hadoop
2015-03-13 14:01
567 查看
(1)首先创建java project
选择eclipse菜单上File->New->Java Project。![](http://www.it165.net/uploadfile/files/2014/0811/20140811190746842.png)
并命名为UploadFile。
![](http://www.it165.net/uploadfile/files/2014/0811/20140811190746843.png)
(2)添加必要的hadoop jar包
右键选择JRE System Library,选择Build Path下的Configure Build Path。![](http://www.it165.net/uploadfile/files/2014/0811/20140811190747844.png)
然后选择Add External Jars,到你解压的hadoop源代码文件夹下添加jar包和lib下的所有jar包。
![](http://www.it165.net/uploadfile/files/2014/0811/20140811190747845.png)
lib文件夹下的所有jar包。
![](http://www.it165.net/uploadfile/files/2014/0811/20140811190747846.png)
(3)添加UploadFile类
![](http://www.it165.net/uploadfile/files/2014/0811/20140811190747848.png)
代码如下:
view
sourceprint?
01.
import
java.io.BufferedInputStream;
02.
import
java.io.FileInputStream;
03.
import
java.io.FileNotFoundException;
04.
import
java.io.InputStream;
05.
import
java.io.OutputStream;
06.
import
java.net.URI;
07.
08.
import
org.apache.hadoop.conf.Configuration;
09.
import
org.apache.hadoop.fs.FileStatus;
10.
import
org.apache.hadoop.fs.FileSystem;
11.
import
org.apache.hadoop.fs.Path;
12.
import
org.apache.hadoop.io.IOUtils;
13.
import
org.apache.hadoop.util.Progressable;
14.
15.
16.
public
class
UploadFile {
17.
18.
public
static
void
main(String[] args) {
19.
20.
try
{
21.
String localSrc =
"C://Goagent.rar"
;
22.
String dst =
"hdfs://hadoop:9000/user/root/Goagent.rar"
;
23.
InputStream in =
new
BufferedInputStream(
new
FileInputStream(localSrc));
24.
Configuration conf =
new
Configuration();
25.
26.
FileSystem fs = FileSystem.get(URI.create(dst),conf);
27.
OutputStream out = fs.create(
new
Path(dst),
new
Progressable() {
28.
public
void
progress() {
29.
System.out.print(
"."
);
30.
}
31.
});
32.
IOUtils.copyBytes(in, out,
4096
,
true
);
33.
System.out.println(
"success"
);
34.
35.
}
catch
(Exception e) {
36.
// TODO Auto-generated catch block
37.
e.printStackTrace();
38.
}
39.
40.
}
41.
42.
}
然后运行程序,如果上传成功会在控制台下输出success。
![](http://www.it165.net/uploadfile/files/2014/0811/20140811190747850.png)
成功之后,你可以远程到hadoop所在的机器,然后输入 hadoop fs -ls /进行查看,也可以通过
http://ip:50070/选择utilities下的browse the file System,如下所示:
选中,就会看到上传的文件,如下所示
相关文章推荐
- Hadoop入门(10)_通过java代码实现从本地的文件上传到Hadoop的文件系统
- Hadoop HDFS文件系统通过java FileSystem 实现上传下载等
- (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
- hadoop入门之通过java代码实现将本地文件上传到hadoop的文件系统
- Hadoop入门(10)_通过java代码实现从本地的文件上传到Hadoop的文件系统
- (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
- java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例
- java实现分段读取文件并通过HTTP上传的方法
- Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播
- java实现通过samba上传和下载文件
- hadoop生态系统学习之路(三)java实现上传文件(本地或ftp)至hdfs
- java操作hadoop hdfs,实现文件上传下载demo
- java实现服务端守护进程来监听客户端通过上传json文件写数据到hbase中
- java通过struts实现web中的文件上传
- java通过struts实现web中的文件上传
- java 实现hadoop的hdfs文件的上传下载删除创建
- 通过java程序实现scp上传和下载文件