2011-10-19 11 views
13

¿Es posible utilizar Apache mahout sin ninguna dependencia a Hadoop?¿es posible utilizar apache mahout sin dependencia de hadoop?

Me gustaría utilizar el algoritmo de mahout en una sola computadora al incluir solo la biblioteca mahout dentro de mi proyecto Java, pero no quiero usar hadoop en absoluto, ya que de todos modos me ejecutaré en un solo nodo.

¿Es esto posible?

Respuesta

11

Sí. No todo Mahout depende de Hadoop, aunque sí lo hace. Si usas una pieza que depende de Hadoop, por supuesto, necesitas Hadoop. Pero, por ejemplo, hay una base de código de motor de recomendación sustancial que no usa Hadoop.

Puede incrustar un clúster/trabajador Hadoop local en un programa Java.

+0

Con Mahout 0,10 esto simplemente no parece posible más. Intento usar los algoritmos KMeans o FuzzyKMeans y parecen estar completamente atados en Hadoop. Todo lo que quiero hacer es agrupar algunos puntos de datos 2D (lat/longs en realidad) y tener que depender del sistema de archivos hadoop parece extremadamente ineficiente para la operación única que deseo. – crowmagnumb

11

Definitivamente, sí. En el Mahout Recommender First-Timer FAQ, aconsejan no comenzar con una implementación basada en Hadoop (a menos que sepa que va a escalar más de 100 millones de preferencias de usuario con relativa rapidez).

Puede utilizar las implementaciones de Recommender interface de forma puramente Java con relativa facilidad. O coloque uno en el servlet de su elección.

Técnicamente, Mahout tiene una dependencia de Maven en Hadoop. Pero puede usar recomendaciones sin los JAR de Hadoop fácilmente. Esto se describe en los primeros capítulos de Mahout en acción. Puede descargar el sample source code y ver cómo se hace. Consulte el archivo RecommenderIntro.java.

Sin embargo, si usted está utilizando Maven, que tendría que excluir manualmente Hadoop - la dependencia se vería así:

<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

El enlace mencionado en la respuesta no dirige a un artículo que se puede leer. [Preguntas frecuentes sobre el primer temporizador de Mahout Recommender] (https://cwiki.apache.org/MAHOUT/recommender-first-timer-faq.html) ¿Puede por favor ver eso? –

Cuestiones relacionadas