Yes, you can do two passes in map-reduce. One pass to do grouping /
distinct, and then another pass to do the counting.

The N1QL implementation doesn't map directly to map-reduce. But the general
approach is to have a grouping phase and an aggregation phase.


On Mon, Dec 30, 2013 at 1:32 AM, Thomas <[email protected]> wrote:

> Hi Gerald,
>
> Yes indeed I have already tested it with success, but I find difficulties
> to implemented with a Map/Reduce :S is it possible, I cannot find a simple
> way, or to be able to do it with two map/reduce jobs one for distinct users
> and one for counting results.
>
> If i dare to ask how it is implemented in N1QL?
>
> Thanks for your time again
> Thomas
>
>
> On Friday, December 27, 2013 6:05:48 PM UTC+2, Thomas wrote:
>>
>> Hi,
>>
>> I was googling around for a solution of a map/reduce where I will be able
>> to perform a distinct/unique count of user ids, but I wasn't able to find a
>> concrete solution/answer to this topic. My case is to count the unique
>> users per day for example as well as other criteria.
>>
>> I have for example the following JSON documents of events:
>>
>>
>> {"user":"user1", "color":"blue"}
>> {"user":"user1", "color":"blue"}
>> {"user":"user1", "color":"red"}
>> {"user":"user2", "color":"blue"}
>>
>>
>> And with my map/reduce view I want to do the following
>>
>> * number of distinct users per color
>>
>> { color: blue, count: 2}
>> { color: red, count: 1}
>>
>>
>> in SQL terms
>>
>> select color, count(distinct user) as users from test group by color
>>
>>
>> Thanks
>>
>>
>>
>>
>>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "Couchbase" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/couchbase/ujEZzp1XXlk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to