Можно ли использовать apache mahout без зависимости от hadoop?
Можно ли использовать Apache mahout без какой-либо зависимости от Hadoop.
Я хотел бы использовать алгоритм mahout на одном компьютере, включая только библиотеку mahout внутри моего Java-проекта, но я вообще не хочу использовать hasoop, так как я буду работать на одном node в любом случае.
Возможно ли это?
Ответы
Ответ 1
Да. Не все Махут зависит от Hadoop, хотя многое делает. Если вы используете кусок, который зависит от Hadoop, конечно, вам нужен Hadoop. Но, к примеру, существует существенная рекомендательная база кода двигателя, которая не использует Hadoop.
Вы можете встроить локальный кластер/рабочий Hadoop в программу Java.
Ответ 2
Конечно, да. В Часто задаваемые вопросы о часах Mahout рекомендуют, они советуют не начинать с реализации на основе Hadoop (если вы не знаете, что собираетесь масштабировать прошлое 100 миллионов пользовательских предпочтений относительно быстро).
Вы можете легко использовать реализации Рекомендательный интерфейс в чистом виде Java. Или поместите его в сервлет по вашему выбору.
Технически, Маху имеет зависимость от Maven от Hadoop. Но вы можете использовать рекомендателей без Hadoop JARs легко. Это описано в первых главах Mahout in Action - вы можете скачать образец исходного кода и посмотреть, как это делается - посмотреть на файл RecommenderIntro.java
.
Однако, если вы используете Maven, вам нужно будет вручную исключить Hadoop - зависимость будет выглядеть так:
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
</exclusion>
</exclusions>
</dependency>