2011-10-19 14 views
13

È possibile utilizzare Apache mahout senza alcuna dipendenza da Hadoop.è possibile utilizzare apache mahout senza dipendenza da hasdop?

Vorrei utilizzare l'algoritmo di mahout su un singolo computer includendo solo la libreria di mahout all'interno del mio progetto Java, ma non voglio affatto usare hadoop poiché eseguirò comunque su un singolo nodo.

È possibile?

risposta

11

Sì. Non tutto di Mahout dipende da Hadoop, anche se molto fa. Se usi un pezzo che dipende da Hadoop, ovviamente, hai bisogno di Hadoop. Ma per esempio c'è una sostanziale base di codice del motore di raccomandazione che non usa Hadoop.

È possibile incorporare un cluster/worker Hadoop locale in un programma Java.

+0

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

11

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> 
+1

Il collegamento indicato nella risposta non indirizza a un articolo che può essere letto. [FAQ per il primo timer di Mahout Recommender] (https://cwiki.apache.org/MAHOUT/recommender-first-timer-faq.html) Potete vedere per favore? –

Problemi correlati