郑州大数据培训心得:实用技巧 成就更优秀的你
离开大学迈入社会才知道书本知识和工作实践之间有多大的鸿沟,非985,非211,很傻很天真的我曾一度坚信凭借自己的”真才实学”,就能够单枪匹马的独闯天下,结局很容易遇见,我撞倒在南墙之下,头破血流。
迷茫,抑郁,石沉大海的简历都明白直接告诉我,自己还是不行。整个人丧到不行,最后,朋友介绍之下我来到了千锋大数据培训机构。起初和大家一样怀着质疑的态度,但是秩序井然的课堂,老师犀利深刻的教导,以及一群和我有着相似经历的战友,让我很快的投入到这种学习的气氛之中,心态渐渐平和,最重要的是,感觉自己的知识,无论是宽度和深度都得到了质的飞跃,还有半个月便要结束这段时间的学习了,有幸也得到了几家不错的公司的认可,我还在仔细的考虑之中,想到和大家分享几处学习心得,考略再三,分享最基本的HDFS读取文件的几点注意,细节决定成败,还请以后的学弟学妹们谨记。以下是我在大数据学习班的简要记录。
HDFS读文件。客户端先调用FileSystem对象的open方法打开文件,其实获取的是一个DistributedFileSystem的实例。DistributedFileSystem通过调用RPC(远程过程调用)向namenode发起请求,获得文件的第一批block的位置信息。同一block按照备份数会返回多个DataNode的位置信息,并根据集群的网络拓扑结构排序,距离客户端近的排在前面, 如果客户端本身就是一个DataNode,那么它将从本地读取文件。
DistributedFileSystem类返回一个FSDataInputStream对象给客户端,用来读取数据,该对象会被封装成DFSInputStream对象,该DFSInputStream对象管理datanode和namenode的I/O数据流。客户端对输入端调用read方法,DFSInputStream就会找出离客户端最近的datanode并连接datanode。
在数据流中重复调用read()函数,直到这个块全部读完为止。DFSInputStream关闭和此DataNode的连接。接着读取下一个bloc块。这些操作对客户端来说是透明的,从客户端的角度来看只是读一个持续不断的流。
如果第一批block都读完了,DFSInputStream就会去namenode拿下一批blocks的位置信息继续读,当客户端读取完毕数据的时候,调用FSDataInputStream的close函数关闭掉所有的流。
值得注意的是, 在读取数据的过程中,如果客户端在与数据节点通信出现错误,则尝试连接包含此数据块的下一个数据节点。同时会记录这个节点的故障。这样它就不会再去尝试连接和读取块。客户端还会验证从DataNode传送过来的数据校验和。如果发现一个损坏的块,那么客户端将会再尝试从别的DataNode读取数据块,向NameNode报告这个信息,NameNode也会更新保存的文件信息。
这里要关注的一个设计要点是,客户端通过NameNode引导获取最合适DataNode地址,然后直接连接DataNode读取数据。这种设计的好处是,可以使HDFS扩展到更大规模的客户端并行处理,这是因为数据的流动是在所有DataNode之间分散进行的。同时NameNode的压力也变小了,使得NameNode只用提供请求块所在的位置信息就可以了,而不用通过它提供数据,这样就避免了NameNode随着客户端数量的增长而成为系统瓶颈。
以上方法,仅供参考,一段时间的学习,获益匪浅,对整个知识框架的掌握更加熟练,对知识体系的了解更加清晰和具体,逻辑思维能力再次得到了锻炼,很感谢这段时间老师的教导,我会继续努力,千锋大数据开发培训班的战友们,一起加油!
学习大数据开发,可以参考千锋提供的大数据学习路线,该学习路线提供完整的大数据开发知识体系,内容包含Linux&&Hadoop生态体系、大数据计算框架体系、云计算体系、机器学习&&深度学习。根据千锋提供的大数据学习路线图可以让你对学习大数据需要掌握的知识有个清晰的了解,并快速入门大数据开发。
相关推荐HOT
更多>>大数据培训学习什么,你了解多少
大数据培训学习什么?你了解多少?随着互联网技术的不断发展,大数据技术开始走进人们的视野,并成为现阶段吃香的技术能力之一。那么熟练掌握大...详情>>
2023-03-16 15:16:01云计算培训怎么样?可靠吗
云计算培训怎么样?可靠吗?靠不靠谱要看你什么要求了,因人而异。但如果你是想通过培训机构快速掌握好技能,然后进入行业,这个一般都没有问题...详情>>
2023-03-07 14:51:00java编程工资多少?主要学哪些内容
java编程工资多少?主要学哪些内容?java程序员的月收入在6000-20000不等,在一线城市有工作经验的java程序员的薪资收入会高一些,在二三线城市...详情>>
2023-02-24 14:56:07it工程培训机构,云计算难学吗
下面给小伙伴们列举一个学习大纲参考: 第一阶段: 零基础入门 1、计算机基础 2、Raid设置与网络服务基础 3、网络基础 第...详情>>
2022-12-01 17:48:04