天天看點

nutch v1.9源碼分析(1)——分析目标

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

繼續閱讀