Mahout (и Hadoop) хорошо работают в Rails, работающем на JRuby.Вы можете включить банки Hadoop и Mahout следующим образом:
требуют 'rubygems'
требуют 'java'
Dir ["/ mahout-base-dir / ** / *. jar "]. each {| jar |require jar}
Dir ["/ hadoop-base-dir / ** / *. jar"]. each {| jar |require jar}
Затем вы можете включить классы Mahout, которые вы планируете использовать, например:
include_class 'org.apache.hadoop.fs.Path'
include_class' org.apache.hadoop.conf.Configuration '
include_class' org.apache.hadoop.fs.FileSystem '
include_class' org.apache.mahout.clustering.spectral.common.AffinityMatrixInputJob '
include_class 'org.apache.mahout.clustering.spectral.kmeans.SpectralKMeansDriver'
Оттуда вы можете следовать соглашениям по Java-документам Mahout и JRuby для создания своей системы Rails rec,
При этом я не уверен, что это будет лучшая архитектура для вашего сайта (сложно сказать без подробностей).Если масштаб вашей проблемы достаточно велик, чтобы оправдать Mahout, возможно, имеет больше смысла использовать Rails только для веб-контента и генерировать ваши рекомендации вне веб-фреймворка (например, путем создания сходств в ночных пакетах и т. Д.).