2

ここで、Map/Reduce と CouchDB の両方でアマチュアをランク付けしてください。レコードのビューを示す最大 600,000 行のデータが取り込まれた CouchDB があります。私の望みは、データ セット全体にわたって、レコードごとのヒット数を示すグラフを作成することです。

次のように、グループ化を行うために Map/Reduce 関数を実装しました。

function(doc) {
  emit(doc.id, doc);
}

と:

function(key, values) {
    return values.length;
}

かなりの量の削減された値がまだあり、たとえばグラフに 100 個のデータ ポイントしか必要ないため、これはあまり使用できません。さらに、実行には永遠に時間がかかります。

X行ごとに取得することもできますが、これらの削減された結果を、その値の平均をとる別のreduce関数に戻すのが理想的です高レベルの概要グラフに投入して、ヒットの分布を確認します。

これは可能ですか?(もしそうなら、キーは何でしょうか?) または、MapReduce コードで何かを台無しにして、パフォーマンスが大幅に低下し、アプリケーション コードでこれを実行できるようになったのでしょうか? 返される結果は 33,500 件のみです。

ありがとう、マット

4

1 に答える 1

1

私自身の質問に答えるには:

  1. この記事によると、CouchDB は Map/Reduce の出力を別の Map/Reduce 関数への入力として渡すことをサポートしていませんが、この記事ではdiscoなどの他のプロジェクトがこれをサポートしていると述べています。

  2. カスタムのサーバー側処理は、値によるソートなど、CouchDB リストのような方法で実行できます。

于 2012-04-29T03:02:54.197 に答える