您的位置:首页 > 编程语言 > Java开发

通过java实现上传文件到hadoop

2015-03-13 14:01 567 查看


(1)首先创建java project

选择eclipse菜单上File->New->Java Project。



并命名为UploadFile。




(2)添加必要的hadoop jar包

右键选择JRE System Library,选择Build Path下的Configure Build Path。



然后选择Add External Jars,到你解压的hadoop源代码文件夹下添加jar包和lib下的所有jar包。



lib文件夹下的所有jar包。





(3)添加UploadFile类



代码如下:



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。





成功之后,你可以远程到hadoop所在的机器,然后输入 hadoop fs -ls /进行查看,也可以通过

http://ip:50070/选择utilities下的browse the file System,如下所示:



选中,就会看到上传的文件,如下所示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: