大数据处理系统:Hadoop源代码情景分析
上QQ阅读APP看书,第一时间看更新

2.4 怎样阅读分析Hadoop的代码

如前所述,阅读分析Hadoop的代码,无非就是两种手段:一是实验;二是阅读,包括做摘要。所谓实验,主要是通过设断点等调试手段跟踪程序的执行,也包括设计测试用例让系统定向产生计算结果和运行日志以供分析。但是,对于像Hadoop这样的大型软件,要实验也不容易,实际上也无法覆盖太多的用例,所以还是要结合阅读分析。而阅读分析,则最低限度的要求是有个能做关键字搜索的工具。对此最原始的当然是grep,但是对Hadoop使用grep已经让人感到不太方便,最好能用像Eclipse或Visual Studio一类的IDE即综合开发环境。能在上面重新编译Hadoop并且运行那是最好,要不然就把它当成搜索工具也行。其实纯粹搜索也不坏,因为搜索的覆盖面是最大的,也无须事先把Hadoop编译一遍,当然缺点是有用信息容易被淹没,效率也比较低。

还要注意一点,采用Maven作为编译和构建工具之后,新版Hadoop的目录嵌套极深,以至于搜索时的路径可能因超长而被截尾,使搜索的范围不全而造成误导。

最后,说到底,阅读理解是人的事,机器和工具只能使你提高效率,最终的理解还是靠人。

作者假定本书的读者学过Java语言。但是也尽量照顾一些用过C/C++但刚开始在学习和熟悉Java的读者,这些读者不妨从第5章即作业提交那一章入手,以后对Java多熟悉一点再回头看第3章和第4章。另外,我在第5章中引用源代码会多一些,以后就逐渐转入以摘要为主。