Stargate scanners support start and stop row keys, so you can bound it to a 
range scan. You don't need to know an exact key when specifying start and stop 
keys for HBase scanners. Just use something lexicographically close.

For 0.21 Stargate needs an extension for composing scan (and get) filters. 
Could be a little language or nested structures of XML/protobuf. 

   - Andy




________________________________
From: Greg Cottman <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Friday, August 28, 2009 3:52:54 AM
Subject: RE: REST or Stargate?


Actually... It doesn't look like either of them will work for me at the moment. 
 I downloaded 0.20.0 RC2 and gave it a whirl.

Stargate is good except that the scanner still seems a little under-cooked.  I 
saw a note saying that scanner filters are in the 0.21 roadmap.  Presumably 
those filters will include selecting column family, specifying start and/or 
stop rows, and supporting the limit parameter.  Until that time I assume that 
unless you know the row keys then every access requires a full table scan.

HBase rest package is good except for scanners as well.  There are some subtle 
differences in other bits, like base 64 encoding the column family names in the 
table description, but the API seems largely unchanged.  My problem is an 
internal server error when I try to get next on a scanner.

I successfully create the scanner and get the location from the HTTP 200 
response.

Then I've tried both PUT and POST with a path of 
"/api/<tableName>/scanner/<scannerID>".

This gives me an HTTP 500 error with the following data:

<status>
   <code>500</code>
   <message>org.apache.hadoop.hbase.rest.exception.HBaseRestException: Object 
does not conform to the ISerializable interface.  Unable to generate xml 
output.</message>
   <error>true</error>
</status>

I can't see anything obvious in the master or rest logs, and I'm not sure where 
else that exception would be dumped.

Any thoughts?

Cheers,
Greg.

From: Greg Cottman
Sent: Tuesday, 18 August 2009 6:30 PM
To: [email protected]
Subject: REST or Stargate?


I'm still a little confused by 0.20.0 releasing both a rewrite of the REST 
interface and giving Stargate contrib status as part of the release.  This 
seems like having your REST *and* eating it too!  Presumably if one of these 
implementations gains enough momentum it would lead to the deprecation of the 
other.

It seems like the Stargate API is more comprehensive, but having said that, I 
would usually go for core functionality over a contribution if they both met my 
requirements.  I don't want to invest code and time in one to see it fall by 
the wayside over the next few releases.

Is anyone backing one of these to become the preferred method of serving REST 
from HBase in the near future?

Cheers,
Greg.


      

Reply via email to