Учитывая, что вы говорите Spark vs Mahout - я думаю, что вы думаете о "старом" Mahout, основанном на MR, который устарел и перешел на "поддержку сообщества".
Я бы порекомендовал вам использовать Mahout Samsara, которая является библиотекой Spark. Например, мой ответ: вы должны использовать Mahout и Spark. Для локального режима вы можете использовать Mahout Векторы / Матрицы.
Вопрос неопределенный, но, основываясь на тегах, я думаю, что этот учебник может быть хорошим местом для начала, так как он использует Mahout и Solr для механизма рекомендаций.
http://mahout.apache.org/docs/latest/tutorials/cco-lastfm/
Отказ от ответственности: я PM C проекта Apache Mahout.