以下主要分析一下nutch提供的各种tool,重点分析一下与爬取cycle相关的流程,也介绍一下其他tool,每个tool主要从如下几个方面介绍:
1) 每个tool的功能,即职责。
2) 用户视角的Command Line调用方式和命令行的参数(options)。
3) 在nutch-default.xml中与该tool相关的配置项(该配置项可以通过nutch-site.xml中相同的key的配置项overwrite)。
本质上,Options和xml中的配置项并无区别,都是为了提高nutch的可定制能力,并且nutch的某些tool的options实际上是overwrite了配置文件中的配置项。
1) 相关数据结构分析。
2) MapReduce过程分析。
3) 与该tool相关的FAQ。
分析过程秉承如下原则:
1) 只写“干货”。
2) 不仅关注“是什么”,也关注“为什么”。
3) 关注代码中的设计模式(特指GOF设计模式)。
4) 尽量避免(不是没有)大段的代码粘贴后逐行分析,尽量比这个级别再high level一点。