Входные расщепления в Hadoop
Если размер входного файла составляет 200 МБ, будет 4 блока / входные разбиения, но на каждом узле данных будет работать маппер. Если все 4 входных разбиения находятся в одном узле данных, то будет выполнена только одна задача карты?
или как количество задач карты зависит от входного разделения?
Также будет ли Task Tracker работать на всех узлах данных и Job Tracker на одном узле данных в кластере?
1 ответ
Количество карт полностью зависит от того, нет ли разделений, а не от расположения блоков / разделений. Так что для вашего случая это будет 4. Как вы говорите, все в одном узле, вы также должны учитывать, что будут реплики этих блоков в разных узлах. Теперь существует концепция обработки с уменьшением отображаемых данных, "локальность данных", которой должен воспользоваться Hadoop. И еще одна вещь, чтобы рассмотреть здесь, это наличие ресурсов. Таким образом, для блока (точная копия всего, обычно 3), который должен быть выполнен, хэдуп найдет анод данных, в котором присутствует блок и доступен ресурс. Таким образом, может сложиться ситуация, подобная описанной вами, реплики из 4 блоков присутствуют в одном из узлов, и у него есть ресурсы, которые потребуются для map-Reduction. Но задача карты будет 4, это точно.