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 10CAD9621 for ; Wed, 14 Dec 2011 10:45:30 +0000 (UTC) Received: (qmail 39863 invoked by uid 500); 14 Dec 2011 10:45:28 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 39804 invoked by uid 500); 14 Dec 2011 10:45:27 -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 39796 invoked by uid 99); 14 Dec 2011 10:45:27 -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 10:45:27 +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 209.85.161.180 as permitted sender) Received: from [209.85.161.180] (HELO mail-gx0-f180.google.com) (209.85.161.180) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Dec 2011 10:45:19 +0000 Received: by ggnq1 with SMTP id q1so753575ggn.11 for ; Wed, 14 Dec 2011 02:44:58 -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=3iBANR/6G47es8YQg/pBxtxozlZkfYF1ApMiPDyKAtQ=; b=wJGaaTo992ncFbhJB56u9nAg2ncSrUjC80LuiTLsW1UiiMslGyS+N3RrJmQOUt4T1D SF5tRbhICmC0/KrY2kIXhyDRaQo4HD+DkYCLNmF4VcFPMktYYzVD2jth9yZHL2+tR4S8 Iymx2MOqQd9eKaZI1dgn8dGwblhc7qzVu8yYc= MIME-Version: 1.0 Received: by 10.182.75.72 with SMTP id a8mr1297849obw.17.1323859498503; Wed, 14 Dec 2011 02:44:58 -0800 (PST) Received: by 10.182.76.98 with HTTP; Wed, 14 Dec 2011 02:44:58 -0800 (PST) In-Reply-To: References: Date: Wed, 14 Dec 2011 12:44:58 +0200 Message-ID: Subject: Re: iterative map reduce From: Alon Keren To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=14dae93996df240df804b40b0fa1 --14dae93996df240df804b40b0fa1 Content-Type: text/plain; charset=ISO-8859-1 Dave, if you need chaining, I really wouldn't mind anyone testing CouchIncarnate and reporting bugs :) On 14 December 2011 11:16, Dave Cottlehuber wrote: > On 14 December 2011 10:05, Robert Newson wrote: > > Chained map-reduce is not available in the open source BigCouch > > project, only on our hosted service at cloudant.com. Sorry! > > > > B. > > A cryin' shame!!! > > > On 14 December 2011 09:01, Alon Keren wrote: > >> 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 > >>> > --14dae93996df240df804b40b0fa1--