2016-11-27 6 views
1

Первый вопрос: Я хочу знать, будут ли сплиты менять блоки любыми способами (т. Е. Изменить размер, переместить блок в другое место, создать новые блоки, ...).Разделяют ли расколы, такие как FileSplit в Haddop, блоки?

Второй вопрос: Я думаю, шпагат не меняет блоки, но он определяет, где каждый MapTask должен существовать и работать на кластере для локальности данных или осведомленности стойки, поскольку узлы DataNode уже работает и имеющие блоки поэтому расщепления, которые, я думаю, скажу Hadoop, чтобы запустить MapTask рядом с узлом, который содержит данные. Примечание. Внутри InputSplit есть Location/Host, который я думаю для этой цели. Пожалуйста, поправьте меня, если я ошибаюсь

Третьи вопросы: Изначально перед непосредственным выполнением задачи, будут блоки двигаться туда, где MapTask является или MapTask будет двигаться туда, где блоки (т.е. Расположение DataNode)?

ответ

0

Для ваших первых и вторых вопросов:

блоков не будут меняться с расколами. Для подготовки ввода Split, некоторые данные из DataNode блока может быть скопированы в другую DataNode, на котором задача Карты становится выполненной (Если данные перекрываются между несколькими блоками данных)

Третьих вопросами: Первоначально, прежде чем на самом деле выполнив задача, будут ли блоки перемещаться туда, где находится MapTask, или MapTask будет перемещаться туда, где находятся блоки (т.е. Расположение DataNode)?

Если MapTask является извлечение данных из DataNode A/Блок-А и некоторой части данных в DataNode A/Block-A охватывает в DataNode B/Блок-B, то данные из блока-B будут скопированы Mapper (DataNode-A).

См вопрос ниже для лучшего понимания входных расколоть & блоков данных:

How does Hadoop perform input splits?

+0

Великий ответ, спасибо. –