mapreduce の欠点は何ですか? mapreduce には多くの利点があります。しかし、mapreduce のデメリットも知りたいです。
4 に答える
- マップ/リデュース/キー/値パターンで達成するために、結合、フィルターなどの簡単な操作を再考/書き直す必要があります
- MapReduce は、ジョブが並列化できることを前提としています。ただし、すべてのデータ処理ジョブに当てはまるわけではありません。
- Java と密接に結びついています。もちろん、救助のために Pig と Hive がありますが、柔軟性が失われます。
まず、マップ出力をストリーミングします。これをメモリに保持できる場合は、より効率的になります。最初は MPI を使用してアルゴリズムをデプロイしましたが、スケールアップすると一部のノードがスワップし始めたため、移行を行いました。
Namenodeは、分散ファイル システム内のすべてのファイルのメタデータを追跡します。私は Hadoop の本 (Hadoop の動作) を読んでいますが、Yahoo はファイルあたり約 600 バイトのメタデータを見積もっていると述べています。これは、ファイルが多すぎると、Namenode で問題が発生する可能性があることを意味します。
ストリーミング APIを使用したくない場合は、 Java言語でプログラムを作成する必要があります。たとえば、C++ からの翻訳を行いました。これにはいくつかの副作用があります。たとえば、Java は C に比べて文字列のオーバーヘッドが大きいなどです。私のソフトウェアはすべて文字列に関するものなので、これはある種の欠点です。
正直、デメリットを探すのにかなり苦労しました。mapreduce によって解決された問題は、mapreduce によってもたらされた問題よりもはるかに大きなものでした。このリストは間違いなく完全ではなく、いくつかの最初のコメントにすぎません。明らかに、それはBig Data向けであり、それが最高のパフォーマンスを発揮する場所であることを覚えておく必要があります. 他にも、独自の特徴を持つディストリビューション フレームワークがたくさんあります。