2012-05-07 1 views
0

Mongo MRのドキュメント(http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-ShardedEnvironments)によれば、シャードされたデータに対するMRジョブの出力は、別のシャードされたコレクションに結果を書き込むことができますが、シャードキーとして使用できるのは_IDだけです。mongoさんのMRさんが他のシャードされたコレクションに結果を書き込むことはできますか?

結果のドキュメントに割り当てられる_IDを発行または設定する方法はありますか?シャード・キーとして使用されるUserIDまたはCustomerNoを使用するとしますか?

答えて

0

Map-Reduceで作成されたドキュメントの_idは、マップフェーズでemit(...)で使用するのと同じキーです。これは、(サブ)文書を含むどのようなタイプでも構いませんが、最終文書には常に_idフィールドとして存在します。

ObjectId以外のカスタム値を_idの値として使用しているターゲット(シャードされた)コレクションがある場合は、sharded map-reduceをそのコレクションに出力することができます。

また、map-reduceが分割または移行をトリガーしないこと、およびlimitオプションがサポートされていないことなど、いくつかの制限があります。

関連する問題