HDFS读数据过程

本文介绍了HDFS读取数据的过程,从打开文件开始,通过FSDataInputStream与DFSInputStream交互,获取数据块的位置信息并按距离排序。接着,客户端读取数据,优先选择最近的数据节点,如果数据未完全读取,则重复此过程。最后,关闭文件完成读取流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.打开文件;

        我们首先要创建FSData Input Stream的输入流,用户客户端只与它打交道,它里面封装                  的DFSInput Stream会与具体的相关名词之间打交道,并且是后台封装的,不是代码实现的。

2.获取数据块信息;

        DFSInput Stream通过远程过程调用与名称节点进行沟通,获取所访问的数据块集体位置                信息。(通过ClientProtocal.getBlockLocationc()查找下一个数据块)返回的时候会以远近              进行排序。

3.读取请求/4.读取数据;

        获得位置信息后客户端会通过FSData Input Stream ,调用read函数进行读取。最近的优                先。读取完DFSInput Stream会关闭与此数据节点的链接。

5./6.如果数据过大,还有剩余部分未读取,会重复2.3.4.步骤直至全部读取完。

7.关闭文件;

         通过.Close来关闭文件,结束流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值