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