Reduce-Side、Replicated、Composite 結合などの結合が Hadoop フレームワークでサポートされていることを読みました。これらの結合に対する Mongodb のサポートはありますか?
私にとってのユースケースは、ログに記録された各ユーザーのイベントとその発生のコレクションがあることです。そのサンプルは
{_id: uniqueEventId, event: login, userId: abc}
ユーザーに関する詳細を含む別のコレクションがあり、ユーザーの属性は固定されていません。そのサンプルドキュメントは
{_id: abc, city: "SF", state: CA, customfield1: value1...}
必要な結果は、イベントの集計である userId であり、ユーザーの詳細も入力する必要があります。サンプル、
{userId: abc, event: login, count:23, city: SF, state: CA}
最大のログインイベントと同様の種類のクエリを持つ州または都市に基づいてクエリを実行できるようにします。
イベント ドキュメントの一部としてユーザー ドキュメントを埋め込むことを検討しましたが、ユーザー属性に変更があった場合、文字どおりすべてのイベント コレクションを更新する必要があり、巨大になります。
このリンクから 2 つのコレクションをマージする方法を調べましたが、reduce 関数を実行する必要があるキーは複合キー (userId + イベント) であるため、これはまったく役に立ちません。