Hadoop学习笔记-20140512

Java接口:

1.URL接口读取数据

2.FIleSystem API读取数据:

public static FileSystem get(configuration conf) throws IOException;

public static FileSystem get(URI uri, Configuration conf) throws IOException;

3.FSDateInputStream:FileSystem的open方法返回的对象

 

文件读取:

1.客户端通过FileSystem的Open方法打开希望读取的文件

2.DistributedFileSystem通过RPC调用namenode返回存有该块复本的最近的datanode地址

3.DistributedFileSystem返回一个FSDataInputStream对象

4.客户端对这个输入流调用read()方法将数据从datanode传输到客户端

文件写入:

1.客户端通过DistributedFileSystem对象调用create()函数来创建文件

2.DistributedFileSystem通过RPC创建一个新文件

3.namenode通过检查确定该文件不存在,然后创建新文件记录一条记录

4.DistributedFileSystem返回一个FSDataOutputStream对象

5.FSDataOutputStream封装了一个DFSOutputStream,后者将数据分成一个个数据包,并写入内部队列data queue

6.DataStreamer处理数据队列,它的责任是根据datanode列表要求namenode分配合适的新块来存储数据备份

 

 

posted @ 2014-05-12 14:59  middlesummer  阅读(112)  评论(0)    收藏  举报