HDFS读取数据的流程图

1.客户端向namenode发送读取数据的请求。

2.namenode接受请求,首先判断当前用户是否具备读取数据的权限,如果没有直接报错;如果有,接着判断在指定的路径下是否有这个文件,如果没有,直接报错;如果有,根据机架感知原理,网络拓扑关系,副本机制,返回部分或者全部的block块所在的datanode的地址。

3.当接收部分或者全部的block列表后,然后进行并行连接datanode节点后,开始读取数据。

4.当从这些地址中将block块读取完成后,如果之前返回的是部分block,此时再次请求namenode,将剩余部分或者全部的block的datanode的列表返回来,接着再运行第三步,开启并行读取数据操作,直至所有的block全部读取下来。

5.按照block进行排序,然后一个一个的拼接在一起,合并成一个最终的文件。

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值