hdfs读流程

先来一张图展示hdfs读流程  hsdf -dfs  -ls /

1.client端通过FileSystem.open(path)方法,和namenode通过rpc进行通信,namenode校验路径是否存在,用户是否有权限

2.验证完成后,返回文件的部分或者全部的block列表(其实就是返回FSDataInputStream对象)

3.client调用FSDataInputStream对象的read方法,与第一个块block所在的最近的datanode进行通信,read块内容,读取完成后,会校验,假如成功,会关闭与当前的datanode的通信。

4.然后接着与第二个快block所在的最近的datanode进行通信,read块内容,读取完成后,校验成功,会关闭与datanode通信。

5.因为FileSystem.open(path)返回的block列表是一批一批的,假如当前block列表读完,文件还没有结束,就会继续读取下一批次的block列表。重复执行2、3步骤。

6.当文件读完之后,client会调用FSDataInputStream.close(),关闭输入流。hdfs读流程结束。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值