Hadoop读写Hdfs系统文件
2011-05-03 11:03
218 查看
Hadoop读写Hdfs系统文件
第一,在程序添加相关引用。
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
第二,读取文件。
FileSystem hdfs = FileSystem.get(conf);
Path inPath = new Path("/user/asr/in-temp");
//
FSDataInputStream dis = hdfs.open(inPath);
FileStatus stat = hdfs.getFileStatus(inPath);
//
byte[] buffer = new byte[Integer.parseInt(String.valueOf(stat.getLen()))];
dis.readFully(0, buffer);
String str= Bytes.toString(buffer);
第三,写出文件。
FSDataOutputStream dos = hdfs.create(tmpPath1);
String utf8 = "UTF-8";
//
dos.write("/r/n".getBytes(utf8));
dos.write("//ceshi//".getBytes(utf8));
dos.write("/r/n".getBytes(utf8));
Date dat = new Date();
dos.write(dat.toString().getBytes());
dos.close();
第四,可以在map和reduce的方法中使用,在datanode节点执行;
也可以在main方法中执行,在namenode节点执行。
但是在main方法执行的时候,本机调试的时候,需要把FileSystem.getLocal(conf);
第一,在程序添加相关引用。
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
第二,读取文件。
FileSystem hdfs = FileSystem.get(conf);
Path inPath = new Path("/user/asr/in-temp");
//
FSDataInputStream dis = hdfs.open(inPath);
FileStatus stat = hdfs.getFileStatus(inPath);
//
byte[] buffer = new byte[Integer.parseInt(String.valueOf(stat.getLen()))];
dis.readFully(0, buffer);
String str= Bytes.toString(buffer);
第三,写出文件。
FSDataOutputStream dos = hdfs.create(tmpPath1);
String utf8 = "UTF-8";
//
dos.write("/r/n".getBytes(utf8));
dos.write("//ceshi//".getBytes(utf8));
dos.write("/r/n".getBytes(utf8));
Date dat = new Date();
dos.write(dat.toString().getBytes());
dos.close();
第四,可以在map和reduce的方法中使用,在datanode节点执行;
也可以在main方法中执行,在namenode节点执行。
但是在main方法执行的时候,本机调试的时候,需要把FileSystem.getLocal(conf);
相关文章推荐
- Hadoop之HDFS文件读写过程
- Hadoop学习全程记录——hadoop读取hdfs文件系统里的内容
- Hadoop中HDFS文件系统的Append/Hflush/Read设计文档(HDFS-265:Revisit append)
- 第一个hadoop程序(java程序访问hadoop的hdfs文件系统中的文件)
- Hadoop分布式文件存储系统HDFS高可用HA搭建(何志雄)
- hdfs——hadoop文件读写操作
- Hadoop学习之java连接HDFS文件系统
- hadoop hdfs文件系统命令
- Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)
- hadoop系列二:HDFS文件系统的命令及JAVA客户端API
- Java API 访问Hadoop的HDFS文件系统 如果不用FileSystem.get(URI.create("hdfs://.......:9000/"),conf)
- 浅谈Hadoop下HDFS文件系统
- Hadoop(2)HDFS文件系统
- hadoop fs --hdfs文件系统操作
- Hadoop第4周练习—HDFS读写文件操作
- Hadoop HDFS文件系统通过java FileSystem 实现上传下载等
- Hadoop2.4.1学习笔记(二)之hdfs文件系统学习
- hadoop之hdfs文件系统
- hadoop 的HDFS文件系统
- fuse挂载hadoop2.0.0文件系统hdfs到本地(关于libhdfs和fuse-dfs的编译)