了解nutch的hbase数据存储(网页)

gijlo24d  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(436)

我使用hbase作为apachenutch爬网数据的存储。我的存储位置在path/data/hbase/webpage中,在那里我可以看到许多文件夹,如:

64b2feb30073eec24d9dba65d421e7f 
482062bc554bd45bf198d9edea971a30
7c8a6eec12d9f6926a1d912be9a0ca81
c1f682541b8d1c0559de6df14ae84e2b
083b28ee75babc718cc28e66b98c9ff5
809eb4bb5f2be087e2c84a2f51d26653

还有更多。。。
这些文件夹包含其他文件夹,如:

f  h  il  mk  mtdt  ol  p  recovered.edits  s

但这并不重要。
我正在为nutch编写自己的索引器,以便从hbase到solr获取爬网数据。我需要把它分批放到solr中,因为当我运行它时,我得到了内存异常。
我想问您是否可以从我的hbase存储中获取批ID(知道我有哪些批ID,然后我可以将其发送到索引)。

a6b3iqyw

a6b3iqyw1#

我不知道您是如何尝试实现您的解决方案的:如果作为一个nutch插件、一个hadoop mapreduce或一个进程脚本,但我猜这些信息将非常有用:
如nutch src/conf/gora-hbase-mapping.xml所示,batchidMap到hbase的列 f:bid .
你必须用gora来读。的示例 WebPage 有办法吗 #getBatchId() . 检查avro网页定义和编译的类。
在开发插件时,很可能会看到 WebPage 插件接口中的参数。
如果你想访问 batchId 在hbase中,以一种原始的方式,只需阅读该列 f:bid 把它当作原始文本。如果我没有错的话,gora并没有在字符串上编写额外的信息(不像序列化时)。

相关问题