Использование mahout и hadoop - PullRequest
       6

Использование mahout и hadoop

8 голосов
/ 12 января 2011

Я новичок, пытающийся понять, как mahout и hadoop будут использоваться для совместной фильтрации.У меня есть настройка одного узла Кассандра.Я хочу получить данные с cassandra

Где я могу найти четкие шаги по установке сначала для hadoop, а затем для работы с cassandra?

Ответы [ 3 ]

7 голосов
/ 13 января 2011

(я думаю, что это тот же вопрос, который вы только что задали на user@mahout.apache.org? Копирование моего ответа.)

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

У вас могут быть данные о Кассандре, но вы захотите прочитать их в память. Если вы можете сделать дамп как файл, вы можете использовать FileDataModel. Или вы можете эмулировать код в FileDataModel для создания кода на основе Cassandra.

Тогда ваши две потребности легко будут удовлетворены:

  1. Это даже не рекомендация проблема. Просто выберите реализацию пользовательского сходства, и использовать его для сравнить пользователя со всеми остальными, и выбрать те, которые с наибольшим сходство. (Упаковка с CachingUserSimility поможет много.)

  2. Это просто рекомендация проблема. Использовать GenericUserBasedRecommender с ваше UserShoity и DataModel и все готово.

Конечно, это может быть гораздо сложнее, но это хорошая отправная точка.

Если позже вы используете Hadoop, то да, вы должны настроить Hadoop в соответствии с его инструкциями. Здесь нет "настройки" Mahout. Для рекомендаций вы можете обратиться к одному из классов RecommenderJob, который вызывает необходимые задания в вашем кластере Hadoop. Вы бы запустили его с помощью команды hadoop - опять же, именно здесь вам нужно просто понять Hadoop.

Книга Mahout в действии подробно описывает большинство заданий Mahout Hadoop.

3 голосов
/ 24 февраля 2011

Книга «Махут в действии» действительно спасла меня от разочаровывающей нехватки документов.

Я следовал https://issues.apache.org/jira/browse/MAHOUT-180 ..., который предлагает синтаксис 'hadoop -jar', который только дал мне ошибки. Вместо этого в книге есть «баночка», и с этим исправлением моя тестовая работа успешно выполняется.

Вот что я сделал:

  1. использовал утилиту в http://bickson.blogspot.com/2011/02/mahout-svd-matrix-factorization.html?showComment=1298565709376#c3501116664672385942 для преобразования CSV-представления моей матрицы в формат файла mahout. Скопировал его в файловую систему Hadoop.

  2. Загрузил mahout-examples-0.5-SNAPSHOT-job.jar из недавно построенного Mahout на моем ноутбуке в блок управления кластера hadoop. Никакого другого материала о мачете там нет.

  3. Запустил это: (предполагается, что hadoop настроен; что я подтверждаю с помощью dfs -ls / user / danbri)

банка из-под конопли ./mahout-examples-0.5-SNAPSHOT-job.jar \ org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver \ --input svdoutput.mht - выходной путь outout --numRows 0 --numCols 4 --rank 50

... теперь, правильно ли я понял, это совсем другое дело, но, похоже, что-то делает!

0 голосов
/ 05 января 2012

вы можете следовать следующему уроку, чтобы учиться. его простота понимания и четкое изложение основ Hadoop:

http://developer.yahoo.com/hadoop/tutorial/

...