Как Hadoop выполняет входные разделения?

Это - концептуальный вопрос, включающий Hadoop/HDFS. Позволяет говорят, что у Вас есть файл, содержащий 1 миллиард строк. И ради простоты, позволяет, полагают, что каждая строка имеет форму <k,v> откуда k является смещением строки начала, и значение является содержанием строки.

Теперь, когда мы говорим, что хотим выполнить задачи карты N, платформа разделяет входной файл на разделения N и выполнять каждую задачу карты на том разделении? или мы должны записать функцию разделения, которая делает разделения N и выполняет каждую задачу карты на сгенерированном разделении?

Все, что я хочу знать, сделаны ли разделения внутренне, или мы должны разделить данные вручную?

Строго говоря, каждый раз карту () функция называют тем, что является Key key and Value val параметры?

Спасибо, Deepak

34
задан Ravindra babu 7 January 2016 в 14:56
поделиться

1 ответ

InputFormat отвечает за разделение.

Обычно, если у вас n узлов, HDFS распределяет файл по всем этим n узлам. Если вы запустите задание, по умолчанию будет n картографов. Благодаря Hadoop картограф на машине будет обрабатывать часть данных, хранящихся на этом узле. Я думаю, это называется Осведомленность о стойке .

Короче говоря: загрузите данные в HDFS и запустите MR Job. Hadoop позаботится об оптимальном выполнении.

24
ответ дан 27 November 2019 в 16:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: