Помимо Mahout, вы должны взглянуть на SLEPc (который представляет собой набор инструментов, основанный на PETSc ) для решения задач на собственные значения для очень больших разреженных матриц. Он использует MPI, поэтому он будет работать на множестве различных параллельных и распределенных архитектур. Также есть Gensim , написанный на Python. Возможно, он не такой масштабируемый, как Mahout или SLEPc, но его гораздо проще использовать.