6

Hadoop は、ネットワーク帯域幅を節約するために map-reduce ジョブを生成するためにデータの局所性の原則を使用することがわかっています。これがどのように機能するかの説明は次のとおりです。

から取得: http://hadoop-gyan.blogspot.in/

Hadoop は、データがローカルに存在するノードでマップ タスクを実行して、ネットワークとノード間通信の遅延を最適化しようとします。入力データは断片に分割され、異なるマップ タスクに供給されるため、そのマップ タスクに供給されるすべてのデータを 1 つのノードで使用できるようにすることが望ましいです。が 1 つのノードに存在する場合、マップ タスクがこのデータのローカライゼーションを利用できるように、分割サイズを HDFS ブロック サイズと等しくすることをお勧めします。

Hadoop は、基礎となるファイル システムが HDFS でなくても、map-reduce ジョブを実行できます (つまり、Amazon の S3 などの他のファイル システムで実行できます)。さて、この場合、データの局所性はどのように説明されるのでしょうか? HDFS の場合、namenode にはすべてのブロック位置情報があり、それを使用して、マッパーは可能な限りデータの近くに生成されました。ただし、他のファイルシステムにはネームノードの概念がありません。では、Hadoop MapReduce フレームワーク (JobTracker および TaskTracker) は、ジョブの実行時にデータの場所の原則を適用するために、どのようにデータの場所を学習するのでしょうか?

4

1 に答える 1

5

あなたが言及したように、S3 のようなファイルシステムは実行するために namenonde を必要としません。この場合、データ局所性の最適化は利用できません。

参照: http://wiki.apache.org/hadoop/AmazonS3

于 2013-11-24T03:23:19.177 に答える