MapReduce に適していないタスクの例があるかどうか疑問に思っています。いくつかの具体的な例があれば素晴らしいでしょう。ありがとう!
質問する
947 次
1 に答える
3
これらのいくつかは主観的なものかもしれないので、私は最も同意されたものに固執しようとします:
- データのストリーミング-- 本質的に MapReduce はバッチ処理です。時々実行される MapReduce で作成したものがありますが、それを取得するのは難しいため、リアルタイムで受信するデータ ストリームを処理します。Storm のように、これに取り組むことを計画しているプロジェクトがいくつかあります。
- リアルタイム分析-- 繰り返しになりますが、MapReduce はバッチであり、集約的で大規模なパフォーマンスに合わせて調整されており、回答を迅速に返すことはできません。すべてのジョブで 1 ~ 2 分のオーバーヘッドが予想されるため、MapReduce で応答時間を 1 分未満にすることは非常に困難です。これは、パラダイムとしての MapReduce ではなく、ソフトウェアの一部としての Hadoop に大きく関係しています。
- レコードのフェッチ-- 短時間で分析を実行できないのと同じように、個々のレコードまたは小さなデータの断片をフェッチすることは、MapReduce で簡単にできることではありません。MapReduce は、1 つまたは 2 つのレコードを選択するのではなく、テーブル全体のスキャンに適しています。これは、HBase が満たすニッチです。
- 大規模な再編成-- これが適切な用語かどうかはわかりませんが、ネットワーク上で大量のデータをシャッフルする必要があることは、ネットワーク インフラストラクチャにとって困難な場合があります。これは、これらの問題がデータの局所性を十分に活用していないためです。この例としては、大規模なデータ セット全体の並べ替えと結合が挙げられます。
于 2012-08-04T00:45:18.220 に答える