There is some limited functionality for this already -- HTable.checkAndPut().
Java object serialization doesn't work the way I think you are expecting it to
work. Bytecode is not sent, only class name and field data. Therefore the class
implementation must already exist server side somewhere on the classpath. Some
time ago we considered jruby scriptlets as a general purpose filter programming
tool: Upload the scriptlet to the region server when opening the scanner and
have it execute inline with the scan. On the RS the scriptlet would have access
to all the row data as the scan is happening and perform any computation the
user might want, perhaps with the help of a library of utility functions. But
of course this is a significant stability and security risk. Instead of the
above as described there is HBASE-1002 for Scan and Get. Perhaps it could be
extended for Put -- guard predicates which must evaluate to true for the Put to
be applied.
- Andy
________________________________
From: Schubert Zhang <[email protected]>
To: [email protected]; [email protected]
Sent: Saturday, September 5, 2009 9:04:11 AM
Subject: Re: Client API questions
@JG
Aside above tow features, I am considering following framework:
Sometimes, we want to modify/update a cell value, but the update depends on
the current value.
IIRC, it is very slow when read+update+write (GET+UPDATE+WRITE). De you
think this requirement is reasonable?
Maybe we can provide a programming framework in client API, to let the user
of client API provide user-defined operations.
For example, one cell's current value is a integer 100, and the user want to
increase 1, the user can provide a user-define class and serialize and send
to RS, then the RS can do the operation on this cell.
Schubert
On Sat, Sep 5, 2009 at 9:48 AM, Jonathan Gray <[email protected]> wrote:
> We talked about it on irc, but for the record the answer is no on both.
>
> 1) https://issues.apache.org/jira/browse/HBASE-1481
>
> 2) https://issues.apache.org/jira/browse/HBASE-1574
>
> Both targeted at 0.21, but if they don't require significant changes I'd
> be happy to help get either one into 0.20.1, or at least a stable, working
> patch.
>
> JG
>
> On Fri, September 4, 2009 5:21 pm, Vaibhav Puranik wrote:
> > Hi,
> >
> >
> > I have the following two client api related questions:
> >
> >
> > 1) Is there any way I can prevent a scanner from getting all the columns?
> > I
> > wan to only get row keys and go through them.
> >
> > 2) I couldn't find a multi delete api call. Looks like I will have to get
> > all the rows from the server and then delete one by one. Is that right?
> >
> >
> > Regards,
> > Vaibhav
> >
> >
>
>