如果我理解正确,你不能将nutch 1.8和1.9作为hadoop作业运行,因为这些版本没有Crawl类,它可以作为所有爬网步骤的包装器。这意味着在hadoop调用中没有一个类可以指定运行整个作业。在nutch 1.7中,这曾经是org.apache.nutch.crawl.Crawl类。
我错过了什么吗?有人想出办法解决这个问题吗?
答案 0 :(得分:0)
你的理解是错误的。您应该使用脚本bin / crawl。在每个步骤中,您应该看到应该调用的相应类(如果您想在爬网脚本之外使用它)。另外,据我所知,你引用的课程已被弃用。
答案 1 :(得分:0)
您的方案有两种不同的选择。
1-您可以实现抓取类并使用ANT来构建hadoop作业并考虑您的抓取类。
2-您可以按需要的顺序安排不同的类在hadoop集群上运行。 (Inject-Generate-Fetch-Parse ...)
但是我选择了第一个解决方案。但第二个也有效。
答案 2 :(得分:0)
另外,请查看https://github.com/b-cube/nutch-crawler它是Crawl类的Nutch 1.9的分支,以便您可以将其作为Hadoop作业运行。