2

すべてのマッパーとリデューサー間でアクセスできる共有 (グローバル) 変数が必要です。マッパーはそこから値を読み取るだけですが、レデューサーはその次の反復で使用するためにいくつかの値を変更します。DistributedCache がそれを行うための手法であることは知っていますが、共有値の読み取りのみをサポートしています。

4

1 に答える 1

3

これこそが、ZooKeeperが構築された目的です。ZooKeeper はマッパー/リデューサーからの大量の読み取りに対応し、時々何かを書き込むことができます。

もう 1 つのオプションは、構成オブジェクトに値を設定することです。ただし、これは単一のジョブに対してグローバルにのみ持続します。ジョブ間でのこの値の受け渡しを自分で管理する必要があります。また、ジョブの実行中にこれを終了することはできません。

于 2012-12-12T21:09:08.220 に答える