Hadoop は、ネットワーク帯域幅を節約するために map-reduce ジョブを生成するためにデータの局所性の原則を使用することがわかっています。これがどのように機能するかの説明は次のとおりです。
から取得: http://hadoop-gyan.blogspot.in/
Hadoop は、データがローカルに存在するノードでマップ タスクを実行して、ネットワークとノード間通信の遅延を最適化しようとします。入力データは断片に分割され、異なるマップ タスクに供給されるため、そのマップ タスクに供給されるすべてのデータを 1 つのノードで使用できるようにすることが望ましいです。が 1 つのノードに存在する場合、マップ タスクがこのデータのローカライゼーションを利用できるように、分割サイズを HDFS ブロック サイズと等しくすることをお勧めします。
Hadoop は、基礎となるファイル システムが HDFS でなくても、map-reduce ジョブを実行できます (つまり、Amazon の S3 などの他のファイル システムで実行できます)。さて、この場合、データの局所性はどのように説明されるのでしょうか? HDFS の場合、namenode にはすべてのブロック位置情報があり、それを使用して、マッパーは可能な限りデータの近くに生成されました。ただし、他のファイルシステムにはネームノードの概念がありません。では、Hadoop MapReduce フレームワーク (JobTracker および TaskTracker) は、ジョブの実行時にデータの場所の原則を適用するために、どのようにデータの場所を学習するのでしょうか?