1

我使用 HBase 作为 Apache Nutch 爬取数据的存储。我的存储位置在路径 /data/hbase/webpage 中,在那里我可以看到很多文件夹,例如:

64b2feb30073eec24d9dba65d421e7f 
482062bc554bd45bf198d9edea971a30
7c8a6eec12d9f6926a1d912be9a0ca81
c1f682541b8d1c0559de6df14ae84e2b
083b28ee75babc718cc28e66b98c9ff5
809eb4bb5f2be087e2c84a2f51d26653

和更多...

这些文件夹包含另一个文件夹,例如:

f  h  il  mk  mtdt  ol  p  recovered.edits  s

但这不是那么重要。

我正在为 Nutch 编写自己的索引器,以获取从 HBase 到 Solr 的爬网数据。我需要将它分批放入 Solr,因为当我全部运行时,我得到 OutOfMemory 异常。

我想问你是否可以从我的 HBase 存储中获取批处理 id(知道我有哪些批处理 id,然后我可以将它发送到索引)。

4

1 回答 1

1

我不知道您是如何尝试实施您的解决方案的:如果作为 Nutch 插件、Hadoop MapReduce 或单进程脚本,但我想这些信息会有所帮助:

在开发插件时,很可能您会WebPage在插件的界面中看到一个参数。

如果您想在 HBasebatchId中以原始方式访问,只需阅读该列并将其视为原始文本。如果我没记错的话,Gora 不会在字符串上写额外的信息(与序列化时不同)。f:bid

于 2013-09-09T08:05:55.790 回答