(2)HDFS读数据流程
HDFS采用的文件读取模式是“一个文件一旦创建 写入 关闭之后就不能修改”。
客户端读取数据时要经过以下过程。
1.客户端通过调用 分布式文件系统 中的 Open()函数 来读取所需要的数据。
2.分布式系统调用 名称节点 来确定请求文件块的所在位置。
3.然后客户端利用FSDataInputStream(输入流)的 Read()函数的方法开始读取数据。
4.FSDataInputStream连接 数据节点 ,并以 数据流 的形式读取数据。(此过程从第一个数据块开始读取,并且该过程中,客户端多次调用Read()函数。)
5.当一个数据块读取完毕,DFSDataInputStream则关闭连接,寻找下一个数据节点。
6当所有的文件读取后,客户端则会调用输入流中的
Close()函数 关闭数据流。
简单叙述就是:首先从名称节点获取以下信息
①该文件有哪些数据块
②这些数据块的位置
然后,客户端以数据流的方式从这些数据节点中读出数据。最后,关闭这个数据流。