2

特定のキーのデータが集約されていることを確認する必要があるため、私のアルゴリズムでは現在 nr_reduces 1 を使用しています。

入力を次の反復に渡すには、「chain_reader」を使用する必要があります。ただし、マッパーからの結果は単一の結果リストであり、これは次のマップの反復が単一のマッパーとして行われることを意味しているようです! 結果を分割して複数のマッパーをトリガーする方法はありますか?

4

1 に答える 1

0

私は長い答えを出すことができますが、この質問は 3 年前のものです: このページをチェックしてください: http://discoproject.org/doc/disco/howto/dataflow.html#single-partition-map

つまり、マッパー関数に N 個の入力がある場合、出力は N になりmerge_partitions=False、reduce を設定すると N 個のブロブが出力されます。入力よりも多くの出力を生成したい場合は、渡すことができますpartions=N。しかし、disco ジョブがマッパー関数だけで構成されていて、分割された出力を生成したい場合は、上記のパラメーターと組み合わせた最も単純な reduce fase を追加して、分割された出力を取得します。

@静的メソッド
def reduce(iter、out、params):
    for (key, value) in iter:
        out.add(キー、値)
于 2013-04-21T14:48:00.243 に答える