Hadoop入门1-输入输出流
来源:互联网 发布:软件产品质量缺陷等级 编辑:程序博客网 时间:2024/05/22 17:14
输入流读取目录数据
通过FileSystem类的open方法可以返回一个FSDataInputStream对象,该对象从DataInpuStream继承而来,一下是他的继承结构图:
获得输入流对象后调用IOUtils.copyBytes方法读取,代码如下
//读取给定路径文件数据并打印public static void main(String[] args){ String uri = args[0];//文件路径 Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(uri),conf); InputStream in = null; try{ in = fs.open(new Path(uri)); IOUtils.copyBytes(in,System.out,4096,false); }finally{ IOUtils.closeStream(in);//一定要关闭输入流 }}
写入数据
写入数据通过create()方法返回FSDataOutputStream输出流,这种方式是创建一个新的文件,hdfs中支持追加写操作,需要使用append()方法来获取追加写的输出流,以创建的方式展示写数据的代码
public static void main(String[] args) throws Exception { String localSrc = args[0]; String dist = args[1]; InputStream in = new BufferedInputStream(new FileInputStream(localSrc)); Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(dist),conf); OutputStream out = fs.create(new Path(dist)); IOUtils.copyBytes(in,out,4096,true); }
create()可以加入第二个参数,为Progressable接口对象,可以传递数据写入的进度,使用匿名内部类来完成传参:
fs.create(new Path(dist),new Progressable(){ public void progress(){ System.out.println('.'); }});
阅读全文
0 0
- Hadoop入门1-输入输出流
- c++入门:输入输出流
- Hadoop 输入输出
- Hadoop入门(1):安装Hadoop
- Android入门进阶教程(9)-输入输出流
- Cg入门1:输入输出和语义
- Cg入门1:输入输出和语义
- hadoop开发常用输入输出
- Hadoop数据输入输出格式
- hadoop 5(输入输出)
- hadoop入门1
- Hadoop入门(1)
- Hadoop入门基础知识[1]
- Hadoop入门操作1
- Hadoop入门学习(1)
- Hadoop(1)入门
- java输入输出流1
- 输入输出流:实验1
- 二分法查找已排序数列中目标数字的位置
- Python学习笔记——模块
- java作业day10/1
- 前端学习概述
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第1章 课程介绍
- Hadoop入门1-输入输出流
- 方差、标准差、均方差、均方误差区别总结
- Fire!(UVA-11624)
- 【实战】android网页源代码查看器
- NOIP2017模拟赛 k-斐波(数学+欧几里得+矩阵乘法)
- 《Linux驱动开发详解》——LCD设备驱动重要数据结构及驱动框架
- js知识点 --01
- ubuntu16.04配置shadowsocks-libev
- 怎样写 Linux LCD 驱动程序