HDFS读写图解

HDFS文件读写
这是读写全流程,大家感应一下。

HDF文件读流程

HDFS文件读写
这是我觉得比较浅显易懂的图片,下面我对该图片的步骤进行详解:
1. 利用FileSystem的open()方法打开文件
2. 通过访问NN获取部分或全部块的信息
3. 利用FSDataInputStream的read()方法发出读取请求
4. 选择DN读取数据,先进行信息文件校验,然后再读取信息
5. 如果只读取部分块,则继续访问NN,获取剩余块信息
6. 继续重复步骤4
7. 关闭文件

HDFS文件写流程

HDFS文件读写
1. 利用FileSystem的creat()方法,提出创建文件请求
2. 访问NN,并在NN中创建一个没有块信息只有文件名的空文件
3. 利用FSDataInputStream的write()方法,发出写数据请求
4. 写入数据包,写入第一个DN,写完一个块立即复制到第二个块,以此类推,用流水线的方式写入
5. 返回一个接受确认包(ack packet)
6. 关闭文件并刷新(flush)
7. 利用FileSystem的compelet()函数将映射关系写入NN

相关文章: