hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Segel <michael_se...@hotmail.com>
Subject Re: Why only check1-and-putMany and check1-and-deleteMany?
Date Mon, 19 Nov 2012 17:22:20 GMT
Which is what I mean when I ask what you mean by an append.  :-)


On Nov 19, 2012, at 11:01 AM, Mike Spreitzer <mspreitz@us.ibm.com> wrote:

> I do not know what you mean about HBase not supporting appends.  I see 
> this:
> 
> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTableInterface.html#append%28org.apache.hadoop.hbase.client.Append%29
> 
> However, the point of my question is not specific to appends.  I am asking 
> why HBase does not have checkMany-and-mutateMany.
> 
> Thanks,
> Mike
> 
> 
> 
> From:   Michael Segel <michael_segel@hotmail.com>
> To:     user@hbase.apache.org
> Date:   11/19/2012 11:54 AM
> Subject:        Re: Why only check1-and-putMany and check1-and-deleteMany?
> 
> 
> 
> Mike, 
> 
> What I am asking is how you define an append in a system that doesn't 
> support appends. 
> 
> I'm trying to understand what it is that you wish to achieve. 
> 
> To give you an answer which you will probably not like... HBase is still 
> very primitive in terms of a full feature functionality. 
> 
> 
> On Nov 19, 2012, at 10:19 AM, Mike Spreitzer <mspreitz@us.ibm.com> wrote:
> 
>> If you are asking why the HBase API has appends as well as puts, I am 
> not 
>> going to play the expert here.  Either there is a good reason for it, or 
> 
>> not.
>> 
>> My goal in this line of questioning is to understand why there is not a 
>> more comprehensive composite atomic operation available.  If there is a 
>> good reason for the API to include appends, then that reason applies 
> here. 
>> If there is no such reason, then you may ignore the appends in my 
>> question.
>> 
>> Thanks,
>> Mike
>> 
>> 
>> 
>> From:   Michael Segel <michael_segel@hotmail.com>
>> To:     user@hbase.apache.org
>> Date:   11/18/2012 03:15 PM
>> Subject:        Re: Why only check1-and-putMany and 
> check1-and-deleteMany?
>> 
>> 
>> 
>> Ok, maybe this is a silly question on my part.... 
>> 
>> Could you define what you mean by check and append? 
>> With respect to HBase, how would that be different from check and put? 
>> 
>> 
>> On Nov 18, 2012, at 12:28 AM, Mike Spreitzer <mspreitz@us.ibm.com> 
> wrote:
>> 
>>> I am not looking at the trunk.  I am just a user looking at the 
>> interface 
>>> documented on the web site and wondering why the atomic composite 
>>> functionality is so limited.  It is not hard to imagine an expanded 
>>> interface that allows checking an arbitrary set of columns and, if each 
> 
>>> has a value specified for it, doing an arbitrary set of Mutations.
>>> 
>>> Thanks,
>>> Mike
>>> 
>>> 
>>> 
>>> From:   Ted Yu <yuzhihong@gmail.com>
>>> To:     user@hbase.apache.org
>>> Date:   11/17/2012 11:44 PM
>>> Subject:        Re: Why only check1-and-putMany and 
>> check1-and-deleteMany?
>>> 
>>> 
>>> 
>>> Are you looking at trunk code ?
>>> 
>>> In trunk, take a look at HRegion.checkAndMutate() where you can specify
>>> ByteArrayComparable which does the comparison (matching).
>>> There is still the limit of single value:
>>>      } else if (result.size() == 1 && !valueIsNull) {
>>>        KeyValue kv = result.get(0);
>>> 
>>> For the moment, only Put and Delete are supported:
>>> 
>>>  if (!isPut && !(w instanceof Delete))
>>>    throw new DoNotRetryIOException("Action must be Put or Delete");
>>> If you have suggestion on how the check part can be more general, 
> please
>>> comment.
>>> 
>>> Thanks
>>> 
>>> On Sat, Nov 17, 2012 at 7:30 PM, Mike Spreitzer <mspreitz@us.ibm.com> 
>>> wrote:
>>> 
>>>> If I understand correctly, an HTable has two composite atomic 
>>> operations,
>>>> checkAndPut and checkAndDelete.  The check part checks just a single
>>>> column's value.  Why not allow checking more than one column?
>>>> 
>>>> Why no checkAndAppend?
>>>> 
>>>> The checkAndPut operation can put to multiple columns, right?  And the
>>>> checkAndDelete operation can delete multiple columns, right?  Why not 
>>> let
>>>> them be mixed?  Why not checkAndMutate?
>>>> 
>>>> Thanks!
>>>> Mike
>>> 
>> 
>> 
> 
> 


Mime
View raw message