On 2010-09-05 14:56, David Stuart wrote:
Hi All,

I have done as per below and can create a table from within the hbase
shell. I found the appropriate create table method
bin/nutch org.apache.nutch.storage.WebTableCreator webtable but it only
returns null

Any help would be great

You don't have to create a table manually - this should happen automatically when you first run any Nutch tool. Just make sure you have hbase-site.xml on your classpath in Nutch - best if you put it in your conf/ and rebuild, so that it's packed into a job jar.

Here's for example my config files that work with HBase (I don't use any non-standard settings for HBase, so my hbase-site.xml has no properties, but still it needs to be included in Nutch job jar):

gora-hbase-mapping.xml:
-------------------------------------------------------------------------
<gora-orm>

<table name="webtable">
<family name="p"/> <!-- This can also have params like compression, bloom filters -->
  <family name="f"/>
  <family name="s"/>
  <family name="il"/>
  <family name="ol"/>
  <family name="h"/>
  <family name="mtdt"/>
  <family name="mk"/>
</table>

<class table="webtable" keyClass="java.lang.String" name="org.apache.nutch.storage.WebPage">
  <!-- fetch fields                                       -->
  <field name="baseUrl" family="f" qualifier="bas"/>
  <field name="status" family="f" qualifier="st"/>
  <field name="prevFetchTime" family="f" qualifier="pts"/>
  <field name="fetchTime" family="f" qualifier="ts"/>
  <field name="fetchInterval" family="f" qualifier="fi"/>
  <field name="retriesSinceFetch" family="f" qualifier="rsf"/>
  <field name="reprUrl" family="f" qualifier="rpr"/>
  <field name="content" family="f" qualifier="cnt"/>
  <field name="contentType" family="f" qualifier="typ"/>
  <field name="protocolStatus" family="f" qualifier="prot"/>
  <field name="modifiedTime" family="f" qualifier="mod"/>

  <!-- parse fields                                       -->
  <field name="title" family="p" qualifier="t"/>
  <field name="text" family="p" qualifier="c"/>
  <field name="parseStatus" family="p" qualifier="st"/>
  <field name="signature" family="p" qualifier="sig"/>
  <field name="prevSignature" family="p" qualifier="psig"/>

  <!-- score fields                                       -->
  <field name="score" family="s" qualifier="s"/>

  <field name="headers" family="h"/>

  <field name="inlinks" family="il"/>

  <field name="outlinks" family="ol"/>

  <field name="metadata" family="mtdt"/>

  <field name="markers" family="mk"/>

</class>

</gora-orm>
-------------------------------------------------------------------------

nutch-site.xml:
-------------------------------------------------------------------------
... blah blah, a lot of unrelated stuff...
<property>
  <name>storage.data.store.class</name>
  <value>org.gora.hbase.store.HBaseStore</value>
  <description>Default class for storing data</description>
</property>
-------------------------------------------------------------------------

Of course you need also to use the same hadoop files (hdfs-site and mapred-site) as the ones that HBase uses.


--
Best regards,
Andrzej Bialecki     <><
 ___. ___ ___ ___ _ _   __________________________________
[__ || __|__/|__||\/|  Information Retrieval, Semantic Web
___|||__||  \|  ||  |  Embedded Unix, System Integration
http://www.sigram.com  Contact: info at sigram dot com

Reply via email to