2017-02-09 12 views
0

Реферат из книги «hadoop definitive guide - tom white» is:Какова точная карта Reduce WorkFlow?

Вся логика между функцией отображения пользователя и функцией сокращения пользователя называется перетасовкой. Затем Shuffle перемещается по обоим картам и уменьшается. После функции map() пользователя, выход находится в кольцевом буфере в памяти. Когда буфер заполнен на 80%, фоновый поток начинает работать. Фоновый поток выведет содержимое буфера в файл разлива. Этот файл разлива разделяется ключом. И внутри каждого раздела пары ключ-значение сортируются по ключу. После сортировки, если включена функция объединителя, вызывается функция сумматора. Все файлы разливов будут объединены в один MapOutputFile. И MapOutputFile для всех задач Map будет собираться по сети для уменьшения задачи. Уменьшить задачу будет другой тип. И тогда будет вызвана функция сокращения пользователя.

Так вопросы:

1.) В соответствии с вышеуказанным образом, это поток:

Mapper - Partioner - Сортировка - объединитель - Перестановка - Сортировка - Reducer --Output

1a.) Это поток или это что-то еще?

1b.) Можете ли вы объяснить приведенный выше поток примером, например, примером подсчета слов (те, которые я нашел в Интернете, не были настолько продуманными)?

2.) Итак, фазовый выход mappers является одним большим файлом (MapOutputFile)? И это один большой файл, который разбит, и пары ключ-значение передаются на соответствующие редукторы?

3.) Почему сортировка происходит во второй раз, когда данные уже отсортированы &, когда они переданы на их соответствующие редукторы?

4.) Скажите, если mapper1 запущен в Datanode1, тогда необходимо ли, чтобы редуктор1 работал на datanode1? Или он может работать на любом Datanode?

ответ

0

Ответ на этот вопрос напоминает переписывание всей истории. Многие ваши сомнения связаны с концепциями операционной системы, а не с MapReduce.

  1. Данные Mappers написаны на локальной файловой системе. Данные разделяются на основе количества редукторов. И в каждом разделе может быть несколько файлов, основанных на количестве времени, в которое произошли утечки.
  2. Каждый маленький файл в данном разделе сортируется, как и перед записью файла, в памяти сортировка выполнена.
  3. Почему данные необходимо сортировать на стороне карты? a. Данные сортируются и объединены на стороне карты, чтобы уменьшить количество файлов. b. Файлы сортируются, поскольку на редукторе невозможно будет собрать все значения для данного ключа.
  4. После сбора данных о редукторе сначала необходимо уменьшить количество файлов в системе (помните, что uLimit имеет фиксированную сумму для каждого пользователя в этом случае hdfs)
  5. Редуктор просто поддерживает указатель файла на небольшом наборе сортированных файлов и делает их слияние.

Чтобы узнать о более интересных идей обращайтесь: http://bytepadding.com/big-data/map-reduce/understanding-map-reduce-the-missing-guide/