文章吧-经典好文章在线阅读:Hadoop技术内幕读后感锦集

当前的位置:文章吧 > 原创文章 > 原创精选 >

Hadoop技术内幕读后感锦集

2022-05-26 02:05:07 来源:文章吧 阅读:载入中…

Hadoop技术内幕读后感锦集

  《Hadoop技术内幕》是一本由蔡斌 / 陈湘萍著作,机械工业出版社出版的512图书,本书定价:89.00元,页数:2013-4,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。

  《Hadoop技术内幕》精选点评:

  ●挺好,深入讲这方面的书不多,问题是觉得看完也没什么用

  ●源码分析的文章能写的这么详细很厉害了 ~ 不过前面java的内容完全不需要啊 , 鸡肋了 ~

  ●作为国内作品,很多地方语句不通顺,google translate的味道很重。而且讲的是hadoop 1.x

  ●想深入了解hadoop实现细节还是得看这本书

  ●很翔实了,从序列化与压缩到NIO,RPC,再到文件系统。

  ●深入到源码,很细致。有些小错误,不过不影响阅读。

  ●很不错的一本书。

  ●太啰嗦了

  ●hdfs 相关的代码分析,个人认为是hadoop技术内幕系列中写得最厚实的一本,可能是hdfs本身的技术使然

  ●表示这本书上讲的在别人的blog里基本都有提到 算是一个社区贡献综合版吧 不是很给力阿 给个还行吧

  《Hadoop技术内幕》读后感(一):总体来说很不错

  讲解浅显易懂,讲解了Common和HDFS主要结构,配合这这本书和源码,理解起来不难,章节的编排也很合理,很多知识点也可以独立成章,在每一个知识点,作者先是从整体上讲解组件的设计与构造,然后再从源代码的角度分析,很好理解,当然读这本书也需要一定的Java功底,也可以边读边学习Java的基础知识,推荐这本书。

  《Hadoop技术内幕》读后感(二):这本书的姊妹篇

  《Hadoop技术内幕》读后感(三):评:《深入解析Hadoop Common和HDFS架构设计与实现原理》

  Hadoop技术内幕 系列之 “Hadoop Common和HDFS”

  花了两周时间阅读,对于一个4年Java基础的我,还是承认有点儿深了,不过看完后,确实收获很多很多……

  看完后回想书中的很多技术点和概念,包括:阻塞/非阻塞IO,线程/守护线程/线程组/线程池/线程安全,远程调用/进程间通信,序列化,动态代理,设计模式,架构,优化,Linux文件系统等等

  其中在NameNode和DataNode介绍中,了解到Hadoop源代码中使用了大量线程相关技术,看完后,确实对以往写过的项目代码有了很多新的想法儿想要去重构或优化,这,我想是看完这本书之后最大的收货了,思路有些开……

  这本书的讲述方式采用代码结合文字描述对HDFS和Common相关部分涉及到的Java类,进行了详实全面的分析和解释,这种方式组织的内容可能有些枯燥,在阅读过程中有时感觉讲的深了,难了,可是多看两遍,理解了之后,感觉到Hadoop的设计巧妙和灵活,也就忘却了阅读带来的些许枯燥

  本来以为复杂且功能强大的Hadoop分布式文件系统,其实现是很难从源码角度理解的,通读此书后,感觉从概念到抽象,再到具体的Java实现,深刻体会到了面向对象的应用,感觉这本书写得实在是太精彩了,使我对Hadoop的底层原理实现,又有了新的认识和理解

  总之这本书个人还是比较推荐的,但是还是建议大家结合自身需求选择性阅读

  阅读此书,最好是有些Java线程,NIO,动态代理,文件系统等相关概念的基础,这样阅读起来会有助于理解

  《Hadoop技术内幕》读后感(四):此书一个严重的错误让我决定扔了它

  《hadoop技术内幕:解析mapreduce架构设计与实现原理》 p35页下方的图:

  ----------------------------------------

  -block1--|-- block2 --|-- block3--|

  ----------------------------------------

  lt;--- split1--->|<--- split2 --->|<--...

  ----------------------------------------

  我们看看源码:

  -------------------------------------------------------------

  334 public List<InputSplit> getSplits(JobContext job) throws IOException {

  ......

  343 long length = file.getLen();

  ......

  356 long bytesRemaining = length;

  357 while (((double) bytesRemaining)/splitSize > SPLIT_SLOP) {

  358 int blkIndex = getBlockIndex(blkLocations, length-bytesRemaining);

  359 splits.add(makeSplit(path, length-bytesRemaining, splitSize,

  360 blkLocations[blkIndex].getHosts()));

  361 bytesRemaining -= splitSize;

  362 }

  363

  364 if (bytesRemaining != 0) {

  365 int blkIndex = getBlockIndex(blkLocations, length-bytesRemaining);

  366 splits.add(makeSplit(path, length-bytesRemaining, bytesRemaining,

  367 blkLocations[blkIndex].getHosts()));

  368 }

  -------------------------------------------------------------

  稍微解释一下源码:

  第357行的SPLIT_SLOP值为1.1,splitSize即每个block的大小(默认64MB), bytesRemaining的初始值为要分割文件的大小, ((double) bytesRemaining)/splitSize > SPLIT_SLOP 即用文件剩余大小除以每一个block的大小,如果该式的值大于1.1即,则按照block的大小和location来生成一个split, 之后文件剩余大小减去一个block大小(splitSize) (第361行)

  第364行,如果最后剩余文件的大小不足一个block大小,则将其单独作为一个split

  由此可见,split是以block为单位进行逻辑分割的, 一个split绝对不会横跨两个block!

  作者不仅此处犯了严重的错误,而且这两本书中大片摘抄《hadoop权威指南》中的内容,可以说是无耻,无能到了极点!

  书友们睁大眼睛看看吧,这就是国产书,总是这么让人失望。

评价:

[匿名评论]登录注册

评论加载中……