Hadoop入门学习笔记---part4
紧接着《Hadoop入门学习笔记---part3》中的继续了解如何用java在程序中操作HDFS。
众所周知,对文件的操作无非是创建,查看,下载,删除。下面我们就开始应用java程序进行操作,前提是按照《Hadoop入门学习笔记---part2》中的已经在虚拟机中搭建好了Hadoop伪分布环境;并且确定现在linux操作系统中hadoop的几个进程已经完全启动了。
好了,废话不多说!实际的例子走起。
在myeclipse中新建一个java工程:
在项目工程中新建一个lib包用于存放项目需要的相关jar包,关于build path我就不多说了。相关jar包如下:
1. 创建文件:
public static final String HDFS_PATH = "hdfs://hadoop:9000/hello"; //创建文件的url
public static void main(String[] args) {
try {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
final URL url = new URL(HDFS_PATH);
final InputStream in = url.openStream();
IOUtils.copyBytes(in, System.out, 1024, true);
} catch (Exception e) {
e.printStackTrace();
}
在浏览器中查看效果:输入http://hadoop:50070/ 然后点击Browse the filesystem 就可以查看到在HDFS根目录下刚刚新建的那个文件了。
2. 上传文件:首先应该明白的就是上传首先需要在HDFS中创建,然后以流的形式写入。
public static final String HDFS_PATH = "hdfs://hadoop:9000/";
final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),new Configuration());
// 上传文件
final FSDataOutputStream out = fileSystem.create(new Path(FILE_PATH));
final FileInputStream in = new FileInputStream("H:/redTestFileForHadoop");
IOUtils.copyBytes(in, out, 1024, true);
效果如下:直接在浏览器中打开。
(上传1)
---------------------------------------分割线---------------------------------------------------------
(上传2)
3. 下载文件,直接输出到控制台,也可以单独将这个写入到一个文件里面,这里就不介绍了,代码如下:
public static final String HDFS_PATH = "hdfs://hadoop:9000/";
final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),new Configuration());
// 下载文件
final FSDataInputStream in = fileSystem.open(new Path(FILE_PATH));
IOUtils.copyBytes(in, System.out,1024, true);
效果图如下:
4. 删除文件:
public static final String HDFS_PATH = "hdfs://hadoop:9000/";
final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),new Configuration());
fileSystem.delete(new Path(FILE_PATH), true);
效果就不用说了,直接在浏览器中看不到这个文件了。
很多时候看起来很复杂的东西其实是自己心里面的认可,实际上也没有想象中的那么难!好好体验一下吧。瞬间感觉这个和我们平常用到的云网盘有几分一样了。哈哈,不妨做一个属于自己的云网盘。绝对可以的!
作者:itRed 邮箱:it_red@sina.com
博客:http://www.cnblogs.com/itred 个人网站:http://wangxingyu.jd-app.com
***版权声明:本文版权归作者和博客园共有,欢迎转载,但请在文章显眼位置标明文章出处。未经本人书面同意,将其作为他用,本人保留追究责任的所有权利。
Hadoop入门学习笔记---part4的更多相关文章
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...
- Hadoop入门学习笔记(一)
Week2 学习笔记 Hadoop核心组件 Hadoop HDFS(分布式文件存储系统):解决海量数据存储 Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度 Hadoop Map ...
- Hadoop入门学习笔记总结系列文章导航
一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急.但数据增长 ...
- Hadoop入门学习笔记之一
http://hadoop.apache.org/docs/r1.2.1/api/index.html 适当的利用 null 在map中可以实现对文件的简单处理,如排序,和分集合输出等. 需要关心的内 ...
- Hadoop入门学习笔记(二)
Yarn学习 YARN简介 YARN是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度 YARN功能说明 资源管理系统:集群的硬件资源,和程序运行相关,比如内存.CPU等. 调度平 ...
- Hadoop入门学习笔记-第一天 (HDFS:分布式存储系统简单集群)
准备工作: 1.安装VMware Workstation Pro 2.新建三个虚拟机,安装centOS7.0 版本不限 配置工作: 1.准备三台服务器(nameNode10.dataNode20.da ...
- Hadoop入门学习笔记-第二天 (HDFS:NodeName高可用集群配置)
说明:hdfs:nn单点故障,压力过大,内存受限,扩展受阻.hdfs ha :主备切换方式解决单点故障hdfs Federation联邦:解决鸭梨过大.支持水平扩展,每个nn分管一部分目录,所有nn共 ...
随机推荐
- C语言 · 4-3水仙花数
问题描述 打印所有100至999之间的水仙花数.所谓水仙花数是指满足其各位数字立方和为该数字本身的整数,例如 153=1^3+5^3+3^3. 样例输入 一个满足题目要求的输入范例.例:无 样例输出 ...
- Partition2:对表分区
在SQL Server中,普通表可以转化为分区表,而分区表不能转化为普通表,普通表转化成分区表的过程是不可逆的,将普通表转化为分区表的方法是: 在分区架构(Partition Scheme)上创建聚集 ...
- Oracle碎碎念~1
1. 设置SQL*Plus提示符 SQL> set sqlprompt "_user'@'_connect_identifier>" SYS@orcl> 为了对所 ...
- How those spring enable annotations work--转
原文地址:http://blog.fawnanddoug.com/2012/08/how-those-spring-enable-annotations-work.html Spring's Java ...
- Javascript 代理模式模拟一个文件同步功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- IL异常处理
异常处理在程序中也算是比较重要的一部分了,IL异常处理在C#里面实现会用到一些新的方法 1.BeginExceptionBlock:异常块代码开始,相当于try,但是感觉又不太像 2.EndExcep ...
- Win10 UWP开发系列——开源控件库:UWPCommunityToolkit
在开发应用的过程中,不可避免的会使用第三方类库.之前用过一个WinRTXamlToolkit.UWP,现在微软官方发布了一个新的开源控件库—— UWPCommunityToolkit 项目代码托管在G ...
- 云计算下PAAS的解析一
云计算下PAAS的解析一 PaaS是Platform-as-a-Service的缩写,意思是平台即服务. 把服务器平台作为一种服务提供的商业模式.通过网络进行程序提供的服务称之为SaaS( ...
- Register-SPWorkflowService 404
最近需要做一个SharePoint 2013工作流演示环境. 于是在自己的本子上安装了一个虚拟机. 虚拟机操作系统是Windows Server 2012 R2,计划把AD.SQL Server 20 ...
- 【SAP业务模式】之ICS(三):前台操作
本片博文开始讲解SAP前台是如何实现ICS业务模式的. 一.VA01开立销售订单 我这里为了方便,创建了一个订单类型ZMIV作为公司间销售的订单类型,其实公司间销售订单跟标准的销售订单是一致的.同时, ...