Mapreduce для чайников - PullRequest
9 голосов
/ 12 января 2012

Хорошо, я пытаюсь выучить Hadoop и mapreduce. Я действительно хочу начать с mapreduce, и я обнаружил множество упрощенных примеров картографов и редукторов и т. Д. Однако я заметил, что чего-то не хватает.

Хотя пример, показывающий, сколько вхождений слова в документе, является простым для понимания, на самом деле он не помогает мне решить какие-либо проблемы «реального мира». Кто-нибудь знает хороший учебник по реализации mapreduce в псевдо-реалистичной ситуации. Скажем, например, я хочу использовать hadoop и mapreduce поверх хранилища данных, похожего на Adventureworks. Теперь я хочу получать заказы на данный товар в мае месяце. Как бы это выглядело с точки зрения hadoop / mapreduce? (Я понимаю, что это может быть не та проблема, которую должно решить mapreduce, но она быстро пришла в голову.)

Любое направление поможет.

Ответы [ 3 ]

13 голосов
/ 12 января 2012

Книга Hadoop: полное руководство - хорошее место для начала. Вводные главы должны быть действительно полезны для вас, чтобы выяснить, где MapReduce полезен и когда вы должны его использовать. Более продвинутые главы содержат множество более реалистичных примеров, чем количество слов.

Если вы хотите погрузиться глубже, вы можете проверить Интенсивная обработка текста с помощью MapReduce . Это определенно имеет множество «реальных» вариантов использования, но не похоже, что вы заинтересованы в обработке текста.


Для вашего конкретного примера, основные вещи, которые нужно реализовать:

  • Фаза карты в основном предназначена для анализа, преобразования данных и фильтрации данных. Подумайте, подход «запись за записью», «ничего не делится» в обработке записей. В подсчете слов это анализ строки и разделение слов.
  • Фаза сокращения - это все об агрегации: подсчет, усреднение, мин / макс и т. Д. При подсчете слов это подсчет экземпляров слова.

Таким образом, если вы хотите, чтобы все записи для данного продукта в мае месяце, вы могли бы использовать задание только для карты, чтобы отфильтровать все данные и сохранить только те записи, которые вы хотите. Тем не менее, вы действительно должны прочитать о том, для чего нужен Hadoop. Вопрос, который больше подходил бы Hadoop, был бы следующим: подсчитайте, сколько раз каждый предмет покупался в месяц (возможно, для построения матрицы). Очень редко вы ищете конкретные записи, которые вы предлагаете.

Если вы ищете платформу доступа в режиме реального времени, вы должны проверить HBase , как только вы закончите изучать Hadoop.

4 голосов
/ 13 января 2012

Hadoop можно использовать для решения самых разных задач. Проверьте эту запись в блоге от atbrox . Кроме того, в Интернете много информации о Hadoop и MapReduce, и ее легко потерять. Итак, здесь - это консолидированный список ресурсов в Hadoop.

Кстати, Hadoop - Полное руководство, третье издание , должно быть выпущено в мае. Похоже, что он также охватывает MRv2 (NextGen MapReduce), а также включает в себя больше тематических исследований. 2-е издание стоит, как упомянуто Orangeoctopus.

0 голосов
/ 05 декабря 2012

MapReduce может быть сложной темой, поэтому мне было проще понять ее, применив ее подход к простой проблеме.Затем я продолжу описывать, как MapReduce упрощает решение той же проблемы в кластере.Вы можете посмотреть мою статью здесь: Введение в параллельную обработку с MapReduce .

Дайте мне знать, если вы считаете, что эта статья облегчает понимание MapReduce и Hadoop.

...