(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:
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 .)
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.