大数据笔记 2--hdfs读数据流程

在这里插入图片描述

注:以下简化名称所对应的全称:
NN == NameNode;
IO == hdfsFileinputStream;
DN == DataNode;
DN1 == DataNode1;
DN2 == DataNode2;
DN3 == DataNode3;

详细流程
1、客户端向NN发送一个带有相关文件的路径请求,例如hdfs://input/xx.txt这样的一个读文件请求;

2、NN会在元数据中查找集群中是否有相关文件的记录,如果有NN会将这些数据所在的(正常工作)节点返回给客户端,也就是所谓的元数据。(假设该文件的三个block分别存放在三个节点上(block1:DN1;block2:DN2;block3:DN3 ))

3、客户端请求DN1传输第一个block块数据;

4、DN1应答请求开始传输第一个block块数据;

5、客户端请求DN2传输第二个block块数据;

6、DN2应答请求开始传输第二个block块数据;

7、客户端请求DN3传输第三个block块数据;

8、DN3应答请求开始传输第三个block块数据;

9、传输过来的block块会在客户端内存中顺序合并成文件,如果内存无法放下所有block块,客户端会合并一部分写入磁盘后再进行下一部分的合并,直到合并完成后hdfs的读数据流程结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigCabbageFy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值