上传--下载HDFS文件并指定文件物理块的大小
使用hdfs的api接口分别实现从本地上传文件到集群和从集群下载文件到本地。
1)上传文件主要是使用FileSystem类的copyFromLocalFile()方法来实现,另外我们上传文件时可以指定以多大的物理块来存储此文件,使用conf.set("dfs.block.size","8388608")设置物理块大小是8M,此方法第二个参数的单位是字节。另外编译此代码除了需要使用hadoop-core-1.2.1.jar,还需要使用
commons-configuration-1.6.jar包。完整代码如下:
/**
* Created with IntelliJ IDEA.
* User: hadoop
* Date: 16-3-13
* Time: 下午6:31
* To change this template use File | Settings | File Templates.
*/ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; import java.io.IOException; public class uploadFile {
public static void main(String[] args) throws IOException {
Configuration conf=new Configuration();//只读取了core.xml文件
//conf.addResource("hdfs-default.xml");
//Long x=conf.get("dfs.block.size") ;
conf.set("dfs.block.size", args[]);//第二个参数的单位是字节,并且是字符串形式
FileSystem fs=FileSystem.get(conf);
Path src=new Path(args[]);//参数是本地文件的绝对路径的字符串形式
Path dst=new Path(args[]);
fs.copyFromLocalFile(src,dst);
System.out.println("upload to:"+conf.get("fs.default.name"));
}
}
例如将本地test目录下的F1k1k文件上传到集群,所使用的命令就是:
hadoop jar uploadFile.jar uploadFile 8388608 /home/hadoop/test/F1k1k /data0313
2)从集群下载文件类似,只需要将copyFromLocalFile()方法改为copyToLocalFile(),只不过代码中src变成了集群路径,dst是本地路径
如下所示:
/**
* Created with IntelliJ IDEA.
* User: hadoop
* Date: 16-3-13
* Time: 下午6:31
* To change this template use File | Settings | File Templates.
*/ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; import java.io.IOException; public class uploadFile { public static void main(String[] args) throws IOException {
Configuration conf=new Configuration();
//conf.addResource("hdfs-default.xml");
//Long x=conf.get("dfs.block.size") ;
conf.set("dfs.block.size", args[]);
FileSystem fs=FileSystem.get(conf);
Path src=new Path(args[]);//src是集群路径
Path dst=new Path(args[]);//dst是本地路径
fs.copyToLocalFile(src,dst);
System.out.println("upload to:"+conf.get("fs.default.name"));
}
}
上传--下载HDFS文件并指定文件物理块的大小的更多相关文章
- SpringMVC 文件上传下载
目录 文件上传 MultipartFile对象 文件下载 上传下载示例 pom.xml增加 创建uploadForm.jsp 创建uploadForm2.jsp 创建userInfo.jsp spri ...
- 文件上传下载(C#,web,asp.net)
目的:在浏览器页面启动上传下载CS软件,实现文件的批量下载与上传. 技术路线: 开发上传下载客户端CS程序与注册程序,压缩放到服务器端指定位置: 开发服务器端程序用以接收上传请求,压缩放到服务器端: ...
- JavaWeb 文件上传下载
1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...
- 远程文件传输命令•RHEL8/CentOS8文件上传下载-用例
scp协议 scp [options] [本地用户名@IP地址:]file1 [远程用户名 @IP 地址 :] file2 options: -v 用来显示进度,可以用来查看连接,认证,或是配置错误. ...
- 转载:JavaWeb 文件上传下载
转自:https://www.cnblogs.com/aaron911/p/7797877.html 1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端 ...
- 使用Fileupload完成文件的上传下载
目录 使用Fileupload完成文件的上传下载 为什么需要进行文件上传下载? 引入jar包 文件上传 注意事项 编写一个简单的文件上传jsp页面 编写Servlet Student类用于封装数据,后 ...
- JAVA Web 之 struts2文件上传下载演示(二)(转)
JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...
- Hadoop生态圈-Azkaban实现文件上传到hdfs并执行MR数据清洗
Hadoop生态圈-Azkaban实现文件上传到hdfs并执行MR数据清洗 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果你没有Hadoop集群的话也没有关系,我这里给出当时我 ...
- SpringMVC(三) RESTful架构和文件上传下载
RESTful架构 REST全名为:Representational State Transfer.资源表现层状态转化.是目前最流行的一种互联网软件架构. 它结构清晰.符合标准.易于理解.扩展方便,所 ...
随机推荐
- VC遍历窗体控件的实现
最近在写控制台,在设计界面按钮风格时不想通过每个按钮的ID来获取其句柄,而是通过遍历窗体所有控件,然后判断其控件类型进而来实现. 代码如下: // 遍历得到页面中的所有Button控件,依次设定其样式 ...
- 【LA4670-Dominating Patterns】AC自动机
http://acm.hust.edu.cn/vjudge/problem/19224 题意:给定n个单词,一个字符串,问哪些单词在字符串中出现的次数最多.单词aba,文本ababa,则aba出现了2 ...
- 金山中学 rugular SRM 04 ——纪念我的第一次Ak
虽然只是一场比较简单的比赛 但奈何我也比较弱啊.... T1 一道计算概率的题目 T SRM 04 描述 给个长度为 n 的数列,每次操作能将数列打乱(RandomShuffle),问在期望下需要多少 ...
- 【洛谷】P1648 看守 (数学)
题目链接 直接暴力搞\(O(n^2)\)显然是布星滴. 试想,若是一维,最远距离就是最大值减最小值. 现在推广到二维,因为有绝对值的存在,所以有四种情况 \((x1+y1) - (x2+y2), (x ...
- 流程控制 while循环 运算符
具体知识戳这里 可变数据类型:在id不变的情况下,数据类型内部的元素(value)可以改变 如:列表,字典 不可变类型:value改变,id也跟的改变 如:数字.字符.布尔类型 运算符 #算数运算符# ...
- linux知识复习1-dup dup2
#include <sys/stat.h> #include <string.h> #include <fcntl.h> #include <stdio.h& ...
- 本地搭建SVN局域网服务器【转】
转自:http://blog.csdn.net/sunbaigui/article/details/8466310 参考链接:http://tortoisesvn.net/docs/nightly/T ...
- 数据类型转换,JS操作HTML
数据类型转换 1.自动转换(在某种运算环境下) Number环境 String环境 Boolean环境 2.强制类型转换 Number() 字符串:纯数字和空字符转为正常数字,其他NaN 布尔值:tu ...
- RBTree 红黑树
红黑树 一.红黑树概述 红黑树不仅是一个二叉搜索树,并且满足以下规则: 1>每个节点不是红的就是黑的, 2>根结点为黑色, 3>如果节点为红色,其子节点必须为黑色, 4>任一节 ...
- linux awk学习笔记
awk学习笔记 awk语法格式 awk '{pattern + action}' {filenames} awk作用 awk的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后 ...