2015-10-05 55 views
0

我们开发了一个数据处理管道,该管道使用Apache Nutch 1.4为给定的一组配置的URL检索Web数据。管道随后应用一系列mapreduce任务来处理Web数据,最后将其索引到Solr中。我们使用预配置的hadoop集群以及Amazon EMR。使用Java代码进行Apache Nutch 1.9检索

这个应用程序是在3年前开发的,并没有使用近一年。当我们尝试使用最新的EMR版本(4.x)运行它时,它失败了。我想,Apache Nutch 1.4不再被支持,因为它使用了旧版的hadoop版本(1.x)。所以我们决定升级到Nutch 1.9。但是,我们发现Nutch 1.9不再具有Crawl类(org.apache.nutch.crawl.Crawl),我们正在1.4版本中使用它来从Java代码抓取。检查文档我发现建议的方法是使用脚本bin/crawl

但是,根据我调用java代码的脚本看起来不太好,因为我们调用一个外部进程,使我们的控制更少。 那么我该如何继续?写我自己的org.apache.nutch.crawl.Crawl版本还是有一些我在这里失踪的其他类?

我的要求很简单。我想从Java代码调用Nutch API 1.9或更高版本。

回答

0

目前,对于Nutch的1.X正在开发一个REST API - https://wiki.apache.org/nutch/Nutch_1.X_RESTAPI

有没有像你所谈论的一个没有直接爬API,但你可以尝试调用作业使用REST端点看如果它们适合你的用例。