我已经参考了这个教程(http://wiki.apache.org/nutch/Nutch2Tutorial)来设置Nutch 2.2.1.with Hbase。我已经完成了教程中给出的设置,但是没有清楚地提到如何将数据抓取并存储到Hbase表中。
您能否请您参考一些相关的链接/书籍?
答案 0 :(得分:1)
对我来说最有帮助的是:
http://sujitpal.blogspot.cz/2011/01/exploring-nutch-20-hbase-storage.html
此处定义了映射到hbase NUTCH_HOME / conf / gora-hbase-mapping.xml 。 因此,如果一切都配置正确,爬网脚本应该为您存储它。
我有相同的配置,并且有许多问题需要它才能运行,这里有一些提示:
提示1:注意表名
我还配置了这些属性:
<property>
<name>storage.schema.webpage</name>
<value>webpage</value>
</property>
<property>
<name>storage.crawl.id</name>
<value>babu</value>
</property>
当你在脚本中给出参数-crawlId简单的'babu' - &gt;时,这个配置会将数据抓取到hbase中的babu_webpage表中。 $ CRAWL_ID。
$bin/nutch fetch $commonOptions -D fetcher.timelimit.mins=$timeLimitFetch $batchId -crawlId $CRAWL_ID -threads 50
提示2:如果你的表名不好,Nutch仍然会在控制台上写成功。
提示3:如何简单地查看hbase中是否有抓取的东西:
转到./bin/hbase shell
list
scan 'babu_webpage'
答案 1 :(得分:1)
我遵循了这个tutorial,我运行Nutch,索引到Elasticsearch没有问题。您的相关信息是本文末尾的六个命令。
bin/nutch inject <seed-url-dir>
bin/nutch generate -topN <n>
bin/nutch fetch -all
bin/nutch parse -all
bin/nutch updatedb
bin/nutch elasticindex <clustername> -all
我在NUTCH_HOME中创建了urls目录,在那里我放置了文件seed.txt。在这个文件中是url地址爬行。接下来我将五个命令放到脚本文件中并以不定式循环运行它。如果您只遵循教程,那么您当然不必使用最后一个命令bin / nutch elasticindex。前n号我坐到50,因为数字越多,它有时会卡住。但它只能在我的情况下。