再帰的に適用する必要があるフィルタリング アルゴリズムがあり、MapReduce がこのジョブに適しているかどうかわかりません。あまり多くを与えることなく、フィルタリングされている各オブジェクトは、順序付けられたリストまたはキューのコレクションによって特徴付けられると言えます。
- SQLからCSVにエクスポートすると、データはそれほど大きくなく、約250MBです。
- マッピングの手順は簡単です。リストの先頭には、リストをN 個のマッピング ノードの 1 つに属するものとして分類できるオブジェクトが含まれています。各ノードのフィルタリング アルゴリズムは、ノードに割り当てられたリストのコレクションに対して機能し、フィルタリングの最後に、リストがフィルタリング前と同じままであるか、リストの先頭が削除されます。
- reduce 関数も単純です。すべてのマップ ジョブのリストがまとめられ、ディスクに書き戻す必要がある場合があります。
- N 個のノードすべてが出力を返すと、この新しいデータ セットを使用してマッピング ステップが繰り返されます。
注: Nは最大 2000 ノードです。シンプルですが、アルゴリズムの終了条件が満たされるまでに、おそらく最大 1000 回の再帰が必要です。
私の質問は、この仕事は Hadoop に適しているでしょうか? そうでない場合、どのような選択肢がありますか?