bq. can you completely customize Please take a look at HRegion#checkAndMutate() - you would get better idea.
FYI On Tue, Jan 26, 2016 at 9:21 AM, Yakubovich, Alexey < alexey.yakubov...@searshc.com> wrote: > 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" <yuzhih...@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.yakubov...@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" <yuzhih...@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.yakubov...@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. >