文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

HDFS读流程的示例分析

2023-06-02 01:04

关注

这篇文章给大家分享的是有关HDFS读流程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

客户端或者用户通过调用FileSystem对象的Open()方法打开需要读取的文件,这时就是HDSF分布式系统所获取的一个对象

  2.FileSystem通过远程协议调用NameNode确定文件的前几个Block的位置,对于每一个block,NameNode返回一个含有Block的元数据信息,接下来DataNode按照上面定义的距离(offSet偏移量)进行排序,如果Client本身即是一个DataNode,那么就会优先从本地DataNode节点读取数据. HDFS完成上面的工作之后返回一个FSDatalnputStream给客户端,让其从FSDatalnputStream中读取。FSDatalnputStream包装了一个类DFSInputStream,用来管理DataNode和NameNode的I/O操作。

  3.NameNode向客户端返回一个包含了数据信息的地址,客户端根据地址创建一个FSDDatalnputStream的对象开始进行数据的读取

  4.FSDatalnputStream根据开始存的前几个Block的DataNode地址,连接到最近DataNode上对数据开始从头读取,客户端会反复调用read()方法,以流的形式读取DataNode这中的数据

  5.当读取到Block的结尾的时候,FSDatalnputStream会关闭当前DataNode的连接然后查找能否读取下一个Block的DataNode位置信息,此时给客户端产生的感觉就是数据是连续读取的,也就说在读取的时候开始查找下一个块所在的地址。读取完成时需要使用close()方法关闭FSDatalnputStream

  HDFS写流程:

  1.Client通过调用FileSystem类的Create()方法请求创建文件

  2.FileSystem通过对NameNode发出远程请求,在NameNode里面创建一个新的文件,但是此时并不关联任何块,NameNode进行很多检查来保证不存在要创建文件已经在系统中,同时检查是否有相当权限来创建文件,如果这些都检查完了,那么NamdNode会记录下这个新文件的信息。FileSystem返回一个FSDatalnputStream给客户端用来写入数据,FSDatalnputStream将包装一个DFsOutputStream用于对DataNode和NameNode的通信,一旦文件创建失败,会给客户端返回一个l0Exception表示文件创建失败并停止任务

  3.客户端开始写数据FSDatalnputStream把要写的数据分成包的形式将其写入到中间队列中,其中的数据有DataStramer来读取,DataStreamer的职责就是让NameNode分配一个新的块通过查找对应DataNode来存数据,来存储的数据会被备份出一个副本,存储到其他节点完成数据写入即可

  4.FSDatalnputStream维护了一个内部关于packets的队列,里面存放着等待被DataNode确认的信息,一旦数据信息写入DataNode成功后,就会从队列中移除

  5.当数据完成写入之后客户会调用close方法,通过NameNode完成写入之前通过一个方法flush将残留数据一起写进去。和NameNode确定写入的位置信息,并返回成功状态。

感谢各位的阅读!关于“HDFS读流程的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯