Сокращение карты и разбиение хэша

Изучая MapReduce, я столкнулся с этот вопрос:

В заданной программе Mapreduce этап Map генерирует 100 пар ключ-значение с 10 уникальными ключами.

Сколько задач Reduce может иметь эта программа, если по крайней мере одной задаче Reduce точно не будут назначены ключи при использовании хеш-разделителя (выберите все правильные ответы)?

  • [ ] A. 3
  • [ ] B. 11
  • [ ] C. 50
  • [ ] D. 101

Ответы Б, В, Г.

Поскольку количество уникальных ключей равно 10. У нас должно быть не менее 10 задач сокращения. И по крайней мере одна задача сокращения имеет нулевой ключ.

Я не могу понять, как эти ответы были получены. Пожалуйста, помогите мне в этом.


person Saumya George    schedule 19.04.2015    source источник
comment
Я просмотрел источник вопроса и отредактировал его в ваш вопрос вместе с объяснением. В какой части объяснения вам нужна помощь?   -  person Nickolay    schedule 19.04.2015


Ответы (3)


Уникальные ключи из выходных данных карты назначаются только одной задаче сокращения. Если имеется 10 уникальных ключей и 11, 50 или 101 задача редукции, то обязательно будут задачи редукции, не имеющие ключей.

person Jeremy Beard    schedule 19.04.2015

Так как есть 10 уникальных ключей, нам нужно 10 редукторов, а так как нам нужен 1 редюсер без назначенных ключей, всего 11 редукторов.

Если количество редукторов больше или равно 11, задание будет выполняться без исключений. Таким образом, ответом будет любое число, большее или равное 11.

person Ani Menon    schedule 09.08.2016
comment
не может ли один редуктор обрабатывать несколько пар ключей и значений? - person Himanshu Poddar; 07.01.2021

Чтобы получить один редьюсер на выходе в виде пустого файла, то есть без ключа, назначенного редуктору, нам нужно как минимум 11 редьюсеров, потому что хэш-раздел распределяет на основе хеш-функции. Редукторы, имеющие право на получение данных здесь, от части-r-00000 до части-r-00009.

Номер редуктора = хэш-код ключа % n (количество редукторов)

Таким образом, возможные остатки от 0 до n-1. Здесь у нас есть 10 уникальных ключей, т. е. 10 разных остатков. У нас будут пустые файлы редукторов, даже если количество редукторов меньше уникального количества ключей. В худшем случае мы также получим один пустой файл редуктора, если количество редукторов больше, чем уникальных ключей.

person Naga    schedule 01.09.2015