Domanda

E 'possibile utilizzare Apache mahout senza alcuna dipendenza per Hadoop.

Vorrei utilizzare l'algoritmo mahout su un singolo computer includendo solo la libreria mahout dentro il mio progetto Java, ma non voglio usare Hadoop affatto dal momento che sarà in esecuzione su un singolo nodo in ogni caso.

E 'possibile?

È stato utile?

Soluzione

Sì. Non tutti Mahout dipende Hadoop, fa anche se molto. Se si utilizza un pezzo che dipende Hadoop, naturalmente, è necessario Hadoop. Ma per esempio c'è una sostanziale base di codice del motore di raccomandazione che non utilizza Hadoop.

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

Altri suggerimenti

Sicuramente, sì. Nella Mahout Recommender First-Timer FAQ che sconsigliano partendo con un'implementazione Hadoop-based (a meno che non si sa che si sta andando ad essere il ridimensionamento passato a 100 milioni di preferenze degli utenti in tempi relativamente brevi).

È possibile utilizzare le implementazioni del rel Recommender interfaccia in modo puro-Java con relativa facilità. O posto uno nella servlet di vostra scelta.

Tecnicamente, Mahout ha una dipendenza Maven su Hadoop. Ma è possibile utilizzare recommenders senza il Hadoop JAR facilmente. Questo è descritto nei primi capitoli di Mahout in azione - è possibile scaricare il esempio di codice sorgente di e vedere come si fa -. un'occhiata al 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top