用流的方式来操作hdfs上的文件
来源:互联网 发布:淘宝网账户登录 编辑:程序博客网 时间:2024/05/13 01:54
package cn.itcast.bigdata.hdfs;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.net.URI;import org.apache.commons.io.IOUtils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.junit.Before;import org.junit.Test;/** * 用流的方式来操作hdfs上的文件 * 可以实现读取指定偏移量范围的数据 * @author * */public class HdfsStreamAccess {FileSystem fs = null;Configuration conf = null;@Beforepublic void init() throws Exception{conf = new Configuration();//拿到一个文件系统操作的客户端实例对象//fs = FileSystem.get(conf);//可以直接传入 uri和用户身份fs = FileSystem.get(new URI("hdfs://mini1:9000"),conf,"hadoop");}/** * 通过流的方式上传文件到hdfs * @throws Exception */@Testpublic void testUpload() throws Exception {FSDataOutputStream outputStream = fs.create(new Path("/angelababy.love"), true);FileInputStream inputStream = new FileInputStream("c:/angelababy.love");IOUtils.copy(inputStream, outputStream);}/** * 通过流的方式获取hdfs上数据 * @throws Exception */@Testpublic void testDownLoad() throws Exception {FSDataInputStream inputStream = fs.open(new Path("/angelababy.love"));FileOutputStream outputStream = new FileOutputStream("d:/angelababy.love");IOUtils.copy(inputStream, outputStream);}@Testpublic void testRandomAccess() throws Exception{FSDataInputStream inputStream = fs.open(new Path("/angelababy.love"));inputStream.seek(12);FileOutputStream outputStream = new FileOutputStream("d:/angelababy.love.part2");IOUtils.copy(inputStream, outputStream);}/** * 显示hdfs上文件的内容 * @throws IOException * @throws IllegalArgumentException */@Testpublic void testCat() throws IllegalArgumentException, IOException{FSDataInputStream in = fs.open(new Path("/angelababy.love"));IOUtils.copy(in, System.out);//IOUtils.copyBytes(in, System.out, 1024);}}
0 0
- 用流的方式来操作hdfs上的文件
- 用流的方式操作HDFS文件 JAVA API
- HDFS的文件操作
- HDFS的java操作方式
- 对HDFS的操作方式
- HDFS上的常用文件操作java code实现
- 读取hdfs上的文件
- 操作hdfs里的文件
- hdfs文件的操作常用命令
- HDFS下的文件操作
- 远程HDFS文件的操作
- HDFS的API调用,创建Maven工程,创建一个非Maven工程,HDFS客户端操作数据代码示例,文件方式操作和流式操作
- Spark流式在hdfs上的一种容错方式
- hdfs客户端的理解,多种方式操作hdfs
- Hadoop HDFS 的 Java API 操作方式
- HDFS的文件操作流(2)——读操作
- hadoop源码 - HDFS的文件操作流 写操作(客户端)
- hadoop的hdfs文件操作实现上传文件到hdfs
- HDU 1040 As Easy As A+B 水题
- 对称和反对称矩阵(Symmetric and skew-symmetric matrices)
- OpenGL获取支持的顶点属性个数
- oracle数据库心得
- Unity跨场景保存数据
- 用流的方式来操作hdfs上的文件
- SVN自动部署脚本
- 102. Binary Tree Level Order Traversal#1(Done)
- 判断给定的序列是否是一棵BST的后序遍历序列
- 44. Wildcard Matching
- 2-算术篇
- PHP开发小技巧⑤—实现实现递归删除文件夹
- 使用js给元素添加事件
- POJ 1096 Space Station Shielding 已被翻译