2011-01-12 23 views
8

Soy un novato tratando de comprender cómo se usarán mahout y hadoop para el filtrado colaborativo. Tengo una configuración de cassandra de nodo único. Quiero buscar datos de cassandraUso de mahout y hadoop

¿Dónde puedo encontrar pasos de instalación claros para hadoop primero y luego mahout para trabajar con cassandra?

Respuesta

7

(creo que esto es la misma pregunta que acaba pedirá en [email protected]? Copia de mi respuesta.)

puede que no necesite Hadoop en absoluto, y si no lo hace, Te sugiero que no lo uses por simplicidad. Es "mal necesario" escalar más allá de cierto punto.

Puede tener datos sobre Cassandra pero querrá poder leerlos en la memoria. Si puede volcar como un archivo, puede usar FileDataModel. O bien, puede emular el código en FileDataModel para crear uno basado en Cassandra.

Entonces, sus dos necesidades son fácilmente contestadas:

  1. Esto no es ni siquiera un problema recomendación. Simplemente elija una implementación de UserSimilarity, y úsela a compare un usuario con todos los demás, y elija los que tengan la más alta similitud . (Envolver con CachingUserSimilarity va a ayudar mucho .)

  2. Esto es sólo un problema recomendador. Use un GenericUserBasedRecommender con su UserSimilarity y DataModel y listo.

Por supuesto, puede ser mucho más complejo que esto, pero este es un buen punto de partida.

Si después usa Hadoop, sí, tiene que configurar Hadoop según sus instrucciones. No hay ninguna "configuración" de Mahout. Para recomendadores, debería mirar una de las clases RecommenderJob que invoca los trabajos necesarios en su clúster Hadoop. Lo ejecutarías con el comando "hadoop"; una vez más, aquí es donde necesitarías simplemente entender a Hadoop.

El libro Mahout in Action escribe la mayoría de los trabajos de Mahout Hadoop con cierto detalle.

3

El libro Mahout in Action realmente me salvó de una frustrante falta de documentos.

Yo estaba siguiendo https://issues.apache.org/jira/browse/MAHOUT-180 ... lo que sugiere una sintaxis 'hadoop -jar' que solo me dio errores. El libro tiene 'jar' en su lugar, y con esa corrección, mi trabajo de prueba se está ejecutando felizmente.

Aquí es lo que hice:

  1. utiliza la utilidad en http://bickson.blogspot.com/2011/02/mahout-svd-matrix-factorization.html?showComment=1298565709376#c3501116664672385942 para convertir una representación CSV de mi matriz a un formato de archivo mahout. Lo copió en el sistema de archivos Hadoop.

  2. Subido mahout-examples-0.5-SNAPSHOT-job.jar desde un Mahout recién construido en mi computadora portátil, en la caja de control del clúster hadoop. No hay otras cosas mahout allí.

  3. Ran esto: (asume hadoop está configurado, lo que confirmo con DFS -ls/usuario/danbri)

frasco hadoop ./mahout-examples-0.5-SNAPSHOT-job.jar \ org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver \ --input svdoutput.mht --output OUTPATH ​​--numRows 0 --numCols 4 --rank 50

... ahora si he entendido bien es un asunto completamente diferente, pero parece estar haciendo algo!

Cuestiones relacionadas