hadoop学习记录(二)HDFS java api
来源:互联网 发布:手机装机必备软件名单 编辑:程序博客网 时间:2024/06/05 11:29
FSDateinputStream 对象
FileSystem对象中的open()方法返回的是FSDateInputStream对象,改类继承了java.io.DateInoutStream接口。支持随机访问
Seekable接口
支持在文件中找到指定位置,并提供一个查询当前位置相对于文件起始位置偏移量的查询方法。
public interface Seekable{ //seek()可以移到文件中任意一个绝对位置 void seek(long pos); long getPos(); boolean seekToNewSource(long targetPos);}
需要注意的是:seek()方法是一个相对高开销的操作,需要慎重使用。如要访问文件,还是用流数据如MapReduce,而不是大量的seek()!
写入数据
FIleSystem有新建文件夹的方法
- public FSDaateOutputStream create(path f);该方法指定一个path对象,如果不存在则自动创建有时候我们希望文件夹不存在时就报出失败而不是创建完写入,这时就需要先调用exists()来判断。
- 另一个方法是append(),允许在一个已有文件的末尾追加数据
- progress()方法用于传递回调接口,可以通知应用数据写入datenode的进度。
1 String localSrc = args[0]; 2 String dst = args[1]; 3 //获取文件读取流 4 InputStream in = new InputStream(new FileInputStream(localSrc)); 5 6 Configuration conf = new Configuration(); 7 FileSystem fs = FileSystem.get(URI.create(dst),conf); 8 OutputStream out = fs,create(new Path(dst),new Progressable(){ 9 public void progress(){10 Syso.("running!")11 }12 });
FSDataOutputStream对象
该对象不允许在写入文件时定位,只能顺序写入,追加在文件末尾。
FileStatus对象
用FIleSystem.getFileStatus()方法可以返回一个文件的信息和状态。包括文件长度,块大小,副本,修改时间,所有者及权限。
0 0
- hadoop学习记录(二)HDFS java api
- Hadoop学习二(java api调用操作HDFS)
- hadoop学习记录(一)HDFS
- Hadoop HDFS源码学习笔记(二)
- Hadoop学习笔记(二)HDFS
- Hadoop学习(3)----HDFS API
- 学习记录---颤抖吧,hadoop!(二)----hdfs的一些知识
- JAVA操作HDFS API(hadoop)
- JAVA操作HDFS API(hadoop)
- Hadoop学习笔记(3)-java操作hdfs的API接口
- hadoop学习笔记--5.HDFS的java api接口访问
- Hadoop学习三(java api 对hdfs常用操作)
- Hadoop学习笔记:HDFS的java API使用
- hadoop java API(二)
- Hadoop学习笔记二---HDFS
- Hadoop学习笔记二---HDFS
- java操作HDFS------Hadoop学习(3)
- hadoop学习5-HDFS API学习
- android 使用<merge>标签
- android 下载instagram动态中图片的demo
- hadoop学习记录(零)
- CFileDialog获取文件名长度
- hadoop学习记录(一)HDFS
- hadoop学习记录(二)HDFS java api
- SpringMVC介绍之Validation
- 贪心算法--寻找最大数(三)
- hadoop学习记录(三)HBase基本概念
- python解决SNIMissingWarning和InsecurePlatformWarning警告
- Oracle12C--常用权限速查表
- hadoop学习记录(四)hadoop2.6 hive配置
- Android 字体颜色在一些机型上不适配(textcolor失效)
- 6大主流开源SQL引擎总结,遥遥领先的是谁?