(4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
(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。可能文章有一些不完整或错误的地方。还请大家多多不吝赐教,也希望能交流学习。互相促进提高。
參考资料:
(4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上的更多相关文章
- Atitit 图像处理 调用opencv 通过java  api   attilax总结
		
Atitit 图像处理 调用opencv 通过java api attilax总结 1.1. Opencv java api的支持 opencv2.4.2 就有了对java api的支持1 1. ...
 - 【hadoop2.6.0】利用Hadoop的 Java API
		
Hadoop2.6.0的所有Java API都在 http://hadoop.apache.org/docs/r2.6.0/api/overview-summary.html 里. 下面实现一个利用J ...
 - JAVA API 实现hdfs文件操作
		
java api 实现hdfs 文件操作会出现错误提示: Permission denied: user=hp, access=WRITE, inode="/":hdfs:supe ...
 - 图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
		
一 . 背景及效果 当前互联网上传文件最多的就是图片文件了,但是传统web图片的截图上传需要:截图保存->选择路径->保存后再点击上传->选择路径->上传->插入. 图片 ...
 - 编写hadoop程序并打成jar包上传到hadoop集群运行
		
准备工作: 1. hadoop集群(我用的是hadoop-2.7.3版本),这里hadoop有两种:1是编译好的hadoop-2.7.3:2是源代码hadoop-2.7.3-src: 2. 自己的机器 ...
 - Java实现文件上传-按钮弹出上传页面
		
转自: https://blessht.iteye.com/blog/1405057 最近自己在做一个小系统玩的时候涉及到了文件的上传,于是在网上找到Java上传文件的方案,最后确定使用common- ...
 - hadoop hdfs java api操作
		
package com.duking.util; import java.io.IOException; import java.util.Date; import org.apache.hadoop ...
 - 使用java api操作HDFS文件
		
实现的代码如下: import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import ...
 - 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
		
一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...
 
随机推荐
- Java利用httpasyncclient进行异步HTTP请求
			
Java利用httpasyncclient进行异步HTTP请求 前段时间有个需求在springmvc mapping的url跳转前完成一个统计的业务.显然需要进行异步的处理,不然出错或者异常会影响到后 ...
 - poj3140(树的dfs)
			
题目链接:http://poj.org/problem?id=3140 题意:给定一棵n棵节点的树,求删去某条边后两个分支的最小差异值. 分析:num[u]表示以u点为根节点的子树的总人数,那么不在该 ...
 - Nginx使用ngx_zeromq模块返回502错误的解决方法
			
/********************************************************************* * Author : Samson * Date ...
 - HTML5特性检測
			
HTML5特性检測: 1.检測全局对象:诸如window或navigator是否拥有特定的属性 2.创建元素:检測该元素的DOM对象是否拥有特定的属性 3.创建元素:检測该元素的DO ...
 - Android数字签名解析(二)
			
在Android数字签名解析(一)中,介绍了android进行签名的两种方式,当中用密钥对进行签名用到了signapk.jar这个java库. 以下我们就看看signapk签名实现过程,signapk ...
 - Java 实现二分(折半)插入排序
			
设有一个序列a[0],a[1]...a[n];当中a[i-1]前是已经有序的,当插入时a[i]时,利用二分法搜索a[i]插入的位置 效率:O(N^2),对于初始基本有序的序列,效率上不如直接插入排序: ...
 - zimbra启用SMTP认证并绑定认证登录和发件人
			
1. smtp认证 1.1 修改mynetworks 登录zimbra后台-->全局配置-->MTA-->信任网络-->127.0.0.0/8 ...
 - JAVA先进-设置(1)
			
>Arrays 基本阵列 1.常见的数组产生于main() 函数,数组下标的索引不能超过0到int的范围 2.当程序试图訪问数组的第一个或者最后一个数据的时候,会发生ArrayIndexOutO ...
 - 观察者模式(Observer Patterns)
			
今天学习了观察者模式,做个总结,方便以后回想. 首先是定义:观察者模式就是定义对象之间一对多的依赖关系,当一个对象状态发生改变时,全部依赖他的对象都收到推送消息并自己主动更新做出改变. 我的理解:生活 ...
 - Mysql 当安装完成后不执行 mysql 和 performance_schema 数据库
			
Mysql问题 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) Mysql ...