Реферат из книги «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?