生成された map() の数は、入力データの 64MB ブロックの数と同じです。サイズが 1MB の入力ファイルが 2 つあるとします。両方のファイルが 1 つのブロックに格納されます。しかし、1 つの namenode と 2 つの jobnode を使用して MR プログラムを実行すると、各ファイルに 1 つずつ、2 つの map() が生成されます。これは、システムが 2 つのノード間でジョブを分割しようとしたためです。つまり、
Number of map() spawned = number of 64MB blocks of input data * number of jobnodes ?
また、mapreduce のチュートリアルでは、ブロックサイズが 128KB の 10TB のファイルに対して 82000 個のマップが生成されると書かれています。ただし、マップの数はブロック サイズのみに依存するというロジックに従って、78125 ジョブを生成する必要があります (10TB/128MB)。余分なジョブがどれだけ生成されたか理解できませんか? 誰かがこれについてあなたの考えを共有できれば素晴らしいことです? ありがとう。:)