hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yakubovich, Alexey" <Alexey.Yakubov...@searshc.com>
Subject Re: HBase atomic update
Date Tue, 26 Jan 2016 17:21:06 GMT
Actually a found another question (HBase : Check and Put method used with
a long). That is also my question. I mean by design, can you use in
checkAndPut with CompareFilter.CompareOp to conditionally update (in my
case, with CompareFilter.CompareOp.GREATER enum value) for int? Or even
better, can you completely customize (within reasonable restrictions)) the
condition for the atomic update?

On 1/26/16, 9:52 AM, "Ted Yu" <yuzhihong@gmail.com> wrote:

>As long as C1 and C2 are updated using one checkAndPut() call, it should
>work.
>
>On Tue, Jan 26, 2016 at 7:47 AM, Yakubovich, Alexey <
>Alexey.Yakubovich@searshc.com> wrote:
>
>> Thank you Ted.
>> You are right it should works. Concerning condition when it can be
>> necessary: one case is when several (spark) executors can update the
>>same
>> row with two int cells: C1 and C2, representing a range. Then C1 Should
>>be
>> always <= C2. But without synch between executors, the data integrity
>>can
>> be broken.
>> Thanks again
>>
>>  + something), and data integrity for instance require
>> On 1/25/16, 3:02 PM, "Ted Yu" <yuzhihong@gmail.com> wrote:
>>
>> >bq. what if I want to update two cells (from one row) in one atomic
>> >operation
>> >
>> >Can you clarify the condition on which the update should be performed ?
>> >Meaning, do you want to compare with one column or compare with two
>> >columns
>> >?
>> >
>> >If you want to compare with one column and update the row depending on
>> >result of the comparison, you can call addColumn() of Put twice (for
>>the
>> >two columns, respectively) and pass the Put to checkAndPut().
>> >
>> >Cheers
>> >
>> >On Mon, Jan 25, 2016 at 12:40 PM, Yakubovich, Alexey <
>> >Alexey.Yakubovich@searshc.com> wrote:
>> >
>> >> I am trying to master HBase, and vuala, I discover that so nice API
>> >> components:
>> >>
>> >> checkAndPut, checkAndDelete, Increment, Append   (HTable)
>> >>
>> >> Or may be not so nice? So e.g. checkAndPut can atomically update the
>> >> specified cell.
>> >> But what if I want to update two cells (from one row) in one atomic
>> >> operation? What if it易s two cells from two different rows, but in
>>need
>> >>to
>> >> be updated atomically?
>> >>
>> >> What is the best way to achieve that?
>> >>
>> >> Thank you
>> >> Alexey
>> >>
>> >> This message, including any attachments, is the property of Sears
>> >>Holdings
>> >> Corporation and/or one of its subsidiaries. It is confidential and
>>may
>> >> contain proprietary or legally privileged information. If you are not
>> >>the
>> >> intended recipient, please delete it without reading the contents.
>>Thank
>> >> you.
>> >>
>>
>> This message, including any attachments, is the property of Sears
>>Holdings
>> Corporation and/or one of its subsidiaries. It is confidential and may
>> contain proprietary or legally privileged information. If you are not
>>the
>> intended recipient, please delete it without reading the contents. Thank
>> you.
>>


This message, including any attachments, is the property of Sears Holdings Corporation and/or
one of its subsidiaries. It is confidential and may contain proprietary or legally privileged
information. If you are not the intended recipient, please delete it without reading the contents.
Thank you.
Mime
View raw message