在這裏爲Map/Reduce和CouchDB的業餘愛好者排名。我有一個CouchDB,裏面有大約600,000行數據,表示記錄的視圖。我的願望是生成一個圖表,顯示整個數據集中每條記錄的點擊率。CouchDB - 將MapReduce結果傳遞到第二個MapReduce函數
我已經實現的Map/Reduce函數來分組,像這樣:
function(doc) {
emit(doc.id, doc);
}
和:
function(key, values) {
return values.length;
}
,因爲現在還是有降低值相當數量的,我們只希望,比如圖表上的100個數據點,這不是很有用。另外,它需要永遠運行。
我可以檢索每一個X行,但將是理想將通過這些降低的結果反饋到另一個減少函數,它接受它的值的平均值,所以我最終得到一套漂亮的,比方說,100結果,這對於投入高級概覽圖來查看匹配的分佈非常有用。
這可能嗎? (如果是的話,密鑰會是什麼?)或者我只是在我的MapReduce代碼中搞砸了一些東西,這使得它非常不友好,因此允許我在我的應用程序代碼中執行此操作。只有33,500個結果返回。
謝謝, 馬特
兩個相關的問題 - 如果等待時間是通過網絡攪動了JSON,是有一些工廠做服務器上的基於JS定製後處理?或者我只是做錯了什麼?特別是在閱讀[這篇文章](http://wiki.apache.org/couchdb/How_to_handle_stats_aggregation)後,我想知道是否需要在它到達CouchDB之前進行預先聚合(這是不行的,因爲我總是需要查看整個數據集的摘要 - 即不按時間分割),或者不使用CouchDB。 我確實試圖強迫它做一些不擅長的事情嗎? – nullPainter 2012-04-26 20:48:28
再次閱讀這篇文章,我想我不是索引原始訪問日誌數據,而是可以爲每個記錄每個適當粒度的時間段(例如,每個記錄每天的點擊次數)命中索引。將實驗! – nullPainter 2012-04-26 23:59:52