MapReduce пропускает ключи? - PullRequest
       28

MapReduce пропускает ключи?

1 голос
/ 20 августа 2010

Я выполняю локальный односистемный тест с использованием Qizmt простой операции MapReduce. В конце фазы «Карта» я звоню:

output.Add(rKey, rValue);

Это называется, скажем, миллион раз, а ключи - 1,2,3,4,5,6 и т. Д. - каждый уникальный (в конце концов, я просто тестирую). Я проверил, что это происходит так, как задумано. Это. Функция вызывается миллион независимых раз, и введенные значения верны.

К моему удивлению, только в фазе «Уменьшить», скажем, фактически получено около сотни ключей (то есть функция «Уменьшить» вызывается только около ста раз). Эти ключи, похоже, выбраны почти произвольно из списка, сопоставленного с шаблоном, например, следующим: 0, 383, 766, 2858, 3241, 5716 и т. Д.

Набор ключей, которые делают это, чтобы уменьшить, являются последовательными. то есть. Я получу 0, 383, 766 и т. Д. Последовательно при каждом запуске задачи. Однако, если я добавлю в систему вторую систему, набор ключей, через которые она будет проходить, полностью изменится!

Этап между «Map» и «Reduce» для меня немного загадка - и я действительно не уверен, где искать, так как моя функция Map работает точно так, как задумано (то есть вызывает 'output' «миллион раз). Кто-нибудь с большим опытом параллельной обработки имеет какие-либо идеи, где я должен искать, или что-нибудь, что может вызвать такое поведение?

1 Ответ

0 голосов
/ 17 августа 2012

Не разрешено. В конечном итоге написал проект на другом языке и не столкнулся с той же проблемой. Qizmt, похоже, вообще не обновляется.

...