以下主要分析一下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一點。