第10章分布式文件系统HDFS资料.ppt

10.6.1 读数据的过程 FSDataInputStream封装了DFSInputStream FileSystem fs = FileSystem.get(conf); FSDataInputStream in = fs.open(new Path(uri)); Configuration conf = new Configuration(); import org.apache.hadoop.fs.FileSystem 通过ClientProtocal.getBlockLocations() 远程调用名称节点,获得文件开始部分数据块的位置 对于该数据块,名称节点返回保存该数据块 的所有数据节点的地址 并根据距离客户端远近进行排序 客户端获得输入流FSDataInputStream以后 调用read()函数开始读取数据 输入流根据前面的排序结果 选择距离客户端最近的数据节点 建立连接并读取数据 数据从数据节点读到客户端,当该数据块读取完毕时 FSDataInputStream关闭和该数据节点的连接 通过ClientProtocal.getBlockLocations() 查找下一个数据块 10.6.2 写数据的过程 FileSystem fs = FileSystem.get(conf); FSDataOutputStream out = fs.create(new Pat

文档评论(0)

1亿VIP精品文档

相关文档