Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3EF5E9DFA for ; Wed, 14 Dec 2011 09:02:29 +0000 (UTC) Received: (qmail 67127 invoked by uid 500); 14 Dec 2011 09:02:27 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 66852 invoked by uid 500); 14 Dec 2011 09:02:24 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 66841 invoked by uid 99); 14 Dec 2011 09:02:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Dec 2011 09:02:23 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of alon.keren@gmail.com designates 74.125.83.52 as permitted sender) Received: from [74.125.83.52] (HELO mail-ee0-f52.google.com) (74.125.83.52) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Dec 2011 09:02:15 +0000 Received: by eeke52 with SMTP id e52so573772eek.11 for ; Wed, 14 Dec 2011 01:01:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=aTU9MtbPNt9aLk/b4wXZC/KocNv4MgTiXJJoSFzaxWQ=; b=eudM/pgwDBKG0tHyH0eniv5+MLkcHwGYLBP7BcdPJ4Z0sMc8S2xunAM31vhZajgi7c 8LrLZxAIVO5ZT/YX/lyT0Qs+mHi/D0bRx+p2zALgkb2Cj6Tiijkanf4mDEz5wBP308oS L/kQSzCTwGXkdjgls+3XcUla7sosqTkoyFlCo= MIME-Version: 1.0 Received: by 10.213.113.144 with SMTP id a16mr431532ebq.94.1323853313319; Wed, 14 Dec 2011 01:01:53 -0800 (PST) Received: by 10.213.29.1 with HTTP; Wed, 14 Dec 2011 01:01:53 -0800 (PST) In-Reply-To: References: Date: Wed, 14 Dec 2011 11:01:53 +0200 Message-ID: Subject: Re: iterative map reduce From: Alon Keren To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=0015174c3e3479a3d204b4099e7f --0015174c3e3479a3d204b4099e7f Content-Type: text/plain; charset=ISO-8859-1 I've been working on an open-source tool with a similar approach chaining map-reduce: https://github.com/afters/Couch-Incarnate The need to pay the bills withheld me from putting more time into it lately, so I can't say it's production quality. Hopefully, this will change soon. Dominic - the method I currently use in production is to poll the changes on my DB every few seconds and update a 'summary' DB accordingly. It's not pretty, but it works. I hope to replace it with Couch-Incarnate asap. Alon On 14 December 2011 10:50, Dave Cottlehuber wrote: > On 14 December 2011 05:46, Dominic Tarr wrote: > > hi, > > > > I need a iterative map reduce, prefurably, in couchdb. > > > > I want to be able to do a map reduce to generate unique items, then > another > > map reduce to generate stats about those unique items. > > > > from what I know about couchdb at the moment, it seems like id have to do > > the first step at the document creation step, which is just ugly. > >https://mail.google.com/mail/?shva=1#inbox > > has anyone else dealt with this problem? > > Hi Dom, > > Cloudant do this in BigCouch which they released as open source a > while back http://support.cloudant.com/kb/views/chained-mapreduce-views > there are a few other posts on chained MR around but I don't know of a > better Couch-style implementation. Their basic approach is to copy the > view output into a new db which you'd then re-MR as required. Rinse > and repeat until complete. > > Depending on your data it might be possible to implement their > view->copy to db -> new view approach yourself in native couch. It > would be interesting to do this as a couch extension using that nifty > plugin interface that hasn't been developed yet! > > A+ > Dave > --0015174c3e3479a3d204b4099e7f--