hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Asaf Mesika <asaf.mes...@gmail.com>
Subject Re: Can a RegionObserver coprocessor increment counter of a row key that may not belong to the region ?
Date Fri, 07 Dec 2012 08:15:14 GMT
But, if your counters are on the row keys, then just send one Increment objects, and have the
hourly, daily columns in there, as well the general counter columns. Way easier than doing
it by a region observer.

On 6 בדצמ 2012, at 15:42, Amit Sela <amits@infolinks.com> wrote:

> Got it, so if my coprocessor is aggregating through the Increment that was
> executed and I am using the aggregated values to increment a new counter in
> the *same row and same FAMILIES *but a different qualifier, I should be OK
> as long as I use *
> ObserverContext<RegionCoprocessorEnvironment>.getEnvironment().getRegion().incrementColumnValue()
> *
> ?
> *
> *
> On Thu, Dec 6, 2012 at 11:13 AM, Andrew Purtell <apurtell@apache.org> wrote:
> 
>> If you as a coprocessor are not writing back to your own region, you are
>> probably doing it wrong.
>> 
>> On Thursday, December 6, 2012, Amit Sela wrote:
>> 
>>> If I'm aggregating over the same Increment Object that triggered the
>>> Observer (the same key, same CFs but aggregating into different
>>> qualifiers), do I go outside the Region ?
>>> I know that for the cases I mentioned earlier I do but in the case I
>>> describe here don't I stay in the region ?
>>> 
>>> 
>>> On Thu, Dec 6, 2012 at 9:40 AM, Andrew Purtell <apurtell@apache.org
>> <javascript:;>>
>>> wrote:
>>> 
>>>> Summing/aggregating with a Coprocessor seems like a fine use, but it
>>>> should act upon only the data within the region to which it is
>>>> associated.
>>>> 
>>>> However if it seems your Coprocessor must unavoidably update or access
>>>> data outside of its region, then either your schema design should
>>>> change (such that all data the coprocessor will operate on is
>>>> contained within the keyspace of the region); or, you should exclude
>>>> all possible client side options. For example maybe Datacube will work
>>>> for you here? See http://github.com/urbanairship/datacube
>>>> 
>>>> On 12/6/12, Amit Sela <amits@infolinks.com <javascript:;>> wrote:
>>>>> I asked because I thought exactly what you all said but wanted to be
>>>> sure.
>>>>> My case is incrementing counters per URL where the families are time
>>>>> periods (hourly, daily...) and the qualifiers are
>>>>> impressions_criteria1,impressions_criteria2... I am going to use
>>>>> coprocessors in order to sum all impressions counters (all criteria
>>>>> segments) and then increment another counter (general count) that
>>> belongs
>>>>> to the same URL.
>>>>> Is that a good practice for Coprocessors (Observer) ?
>>>>> 
>>>>> Thanks.
>>>>> 
>>>>> 
>>>>> On Wed, Dec 5, 2012 at 8:56 PM, Asaf Mesika <asaf.mesika@gmail.com
>> <javascript:;>
>>>> 
>>>> wrote:
>>>>> 
>>>>>> Why not simply send Increment objects from the client side to HBase,
>>> to
>>>>>> the URL row key and to the domain row key?
>>>>>> 
>>>>>> On 5 בדצמ 2012, at 14:35, Amit Sela <amits@infolinks.com
>> <javascript:;>>
>>> wrote:
>>>>>> 
>>>>>>> Hi all,
>>>>>>> 
>>>>>>> I have to count the occurrence of URLs in our system using the
URL
>>> as
>>>>>>> row
>>>>>>> key and using Increment.
>>>>>>> I also want to count domains, so I was thinking of using
>>>> RegionObserver
>>>>>>> coprocessor on postIncrement() and Increment using the domain
as
>>> key.
>>>>>>> 
>>>>>>> Will that work ? Is there a problem if the url key starts with
>>> 'www.'
>>>>>>> and
>>>>>>> the domain starts with 'aaaa' ?
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> 
>>>>>>> Amit.
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
>> 
>> --
>> Best regards,
>> 
>>   - Andy
>> 
>> Problems worthy of attack prove their worth by hitting back. - Piet Hein
>> (via Tom White)
>> 


Mime
View raw message