Будет ли Hadoop всегда равномерно распределять работу между узлами?
Допустим, у меня есть 200 входных файлов и 20 узлов, и каждый узел имеет 10 слотов mapper. Будет ли Hadoop всегда распределять работу равномерно, так что каждый узел получит 10 входных файлов и одновременно запустит 10 картографов? Есть ли способ заставить себя вести себя подобным образом?
1 ответ:
Количество используемых картографов определяется входными данными-в частности, входными разбиениями. Таким образом, в вашем случае 200 файлов могут быть переданы 200 картографам. Но реальный ответ немного сложнее. Это зависит от
Размер файла: если размер файла больше размера блока, то блок размером с кусок отправляется в картограф
Являются ли файлы расщепляемыми. например, сжатые файлы gzip нельзя разделить. И один весь файл переходит к одному картографу (даже если файл больше чем размер блока)