(4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
2016-01-02 10:38
1136 查看
(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类
代码例如以下:
import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.OutputStream; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.util.Progressable; public class UploadFile { public static void main(String[] args) { try { String localSrc = "C://Goagent.rar"; String dst = "hdfs://hadoop:9000/user/root/Goagent.rar"; InputStream in = new BufferedInputStream(new FileInputStream(localSrc)); Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(dst), conf); OutputStream out = fs.create(new Path(dst), new Progressable() { public void progress() { System.out.print("."); } }); IOUtils.copyBytes(in, out, 4096, true); System.out.println("success"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
然后执行程序,假设上传成功会在控制台下输出success。
你也能够在网页上查看http://hadoop:50070/。
备注:我也是刚起步学习hadoop。可能文章有一些不完整或错误的地方。还请大家多多不吝赐教,也希望能交流学习。互相促进提高。
參考资料:
/article/3566174.html
相关文章推荐
- spring03 AOP、各种通知、一/多个切面例子
- spring02 注解方式实现MVC、spring的继承、代理模式(静/动) :jdk动态代理,cglib动态代理
- spring01 环境搭建、控制反转、依赖注入、springIOC和DI实现MVC模式
- eclipse(ini)
- Eclipse下设置github开发环境
- JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用
- java语言jdk下载、安装,环境变量的搭载
- 使用Java开发自动化检测域名是否可注册工具 推荐
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
- 三杯水问题 算法分析、设计与实现(Java)
- Flexigrid的使用(整合Struts2)
- JAVA访问控制变量、类变量、类方法
- 每天一点儿JAVA-向量的操作
- 总结eclipse中安装maven插件
- java学习—day_1
- Java语言基础知识
- 《Java虚拟机原理图解》1.3、class文件里的訪问标志、类索引、父类索引、接口索引集合
- java封装
- java语言概述
- java 四中修饰符的访问权限