I'm on the road. Let me circle back to this soon. Also, I filed https://issues.apache.org/jira/browse/HBASE-5417. Now that 0.92 has ParseFilter (with documentation) this seems a good way forward. If you're willing to use a patched version of the REST gateway we can get you up and running with it soon.
Best regards, - Andy On Feb 16, 2012, at 12:18 PM, Mario Lassnig <mario.lass...@cern.ch> wrote: > Hi Andrew, > > thanks, I suspected something like this. > > I'm using the rest api from python, so I made a litte > helper to construct a few example JSON representations, > to get me on the right track. > > Now I patchwork the string together in python and it produces > the same JSON representation as stringifyFilter. > So far so good. > > However... it doesn't work... and it's weird, > because it ignores the filter, I always get the full content of the table > back. > > Could you please provide a simple toy problem that works, > because I suspect that I'm missing some critical thing here. > > I'd be happy to help then to mash this into proper documentation. > > Thanks, > Mario > > > > On 12-2-16 20:31 , Andrew Purtell wrote: >> Hi, >> >> One option is to build a Scan object and attach the filter construction you >> would like using the Java API: >> >> Scan scan = new Scan(); >> Filter filter = new ... ; >> >> scan.setFilter(filter); >> >> >> and then use REST's model API to construct and submit the request: >> >> ScannerModel model = ScannerModel.fromScan(scan); >> // submit the scanner model using methods in >> org.apache.hadoop.hbase.rest.client >> >> But for non Java clients you can stringify the filter: >> >> String filterAsJSON = ScannerModel.stringifyFilter(filter); >> >> Building a Filter object hierarchy and dumping the JSON representation of it >> can be done interactively using the HBase shell, which is JRuby. >> >> This will give you back a representation of the scanner that you can plug in. >> >> curl -v -H 'Content-Type: text/xml' \ >> -d '<Scanner startRow="ddo" stopRow="ddp" batch="1024" >> filter="FILTER JSON REPRESENTATION GOES HERE"/>' >> >> Of course documenting the JSON representations of filters would be quite >> helpful I realize, but filters have been evolving and I didn't want to >> produce documentation that would be quickly out of date. Patches for such >> documentation and maintenance thereof would always be welcome! >> >> >> Best regards, >> >> >> - Andy >> >> Problems worthy of attack prove their worth by hitting back. - Piet Hein >> (via Tom White) >> >> >> >> ----- Original Message ----- >>> From: Mario Lassnig<mario.lass...@cern.ch> >>> To: user@hbase.apache.org >>> Cc: >>> Sent: Thursday, February 16, 2012 2:48 AM >>> Subject: HBase REST SingleColumnValueFilter >>> >>> Hello, >>> >>> I cannot figure out how to use filters in the HBase REST interface (HBase >>> 0.90.4-cdh3u3). The documentation just gives me a schema definition for a >>> "filter string", but doesn't show how to use it. >>> >>> So, I'm able to do this: >>> >>> curl -v -H 'Content-Type: text/xml' -d '<Scanner >>> startRow="ddo" stopRow="ddp" >>> batch="1024"/>' 'http://hbasegw:8080/table/scanner' >>> >>> and then retrieve with >>> >>> curl -s -H "Content-Type: text/xml" >>> http://hbasegw:8080/table/scanner/13293426893883128482b >>> >>> But now I want to use a few SingleColumnValueFilters that all must succeed >>> (e.g., like the java FilterList(FilterList.Operator.MUST_PASS_ALL..) >>> >>> and have to encode that somehow in the XML. Does anyone have an example for >>> this? >>> >>> Thanks, Mario >>> > > -- > Mario Lassnig > CERN PH-ADP-DDM 1-R-022 > CH-1211 Geneve 23 > mario.lass...@cern.ch > +41 22 76 71268 >