Decisamente, sì. Nello Mahout Recommender First-Timer FAQ si sconsiglia di iniziare con un'implementazione basata su Hadoop (a meno che non si sappia che si ridurranno in modo rapido oltre 100 milioni di preferenze utente).
È possibile utilizzare le implementazioni di Recommender interface in modo Java puro in modo relativamente semplice. Oppure mettine uno nel servlet che preferisci.
Tecnicamente, Mahout ha una dipendenza Maven su Hadoop. Ma puoi usare facilmente i raccomandatori senza i JAR Hadoop. Questo è descritto nei primi capitoli di Mahout in Action: puoi scaricare lo sample source code e vedere come è fatto: guarda il file RecommenderIntro.java
.
Tuttavia, se si sta utilizzando Maven, si avrebbe bisogno di escludere manualmente Hadoop - la dipendenza sarebbe simile a questa:
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
</exclusion>
</exclusions>
</dependency>
Con Mahout 0.10 questo non sembra più possibile. Sto cercando di utilizzare gli algoritmi KMeans o FuzzyKMeans e sembrano completamente legati a Hadoop. Tutto quello che voglio fare è raggruppare alcuni punti dati 2D (lat/long) e dover contare sul file system hadoop sembra estremamente inefficiente per l'operazione one-off che voglio. – crowmagnumb