Ответ 1
Mahout (и Hadoop) работают очень хорошо в Rails, запущенном на JRuby. Вы можете включить баночки Hadoop и Mahout следующим образом:
требуется "rubygems"
require '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 Youtube и JRuby для создания системы Rails rec.
Говоря, я не уверен, что это будет лучшая архитектура для вашего сайта (трудно сказать без каких-либо подробностей). Если масштаб вашей задачи достаточно велик, чтобы оправдать Махут, вероятно, имеет смысл использовать Rails только для веб-материалов и генерировать ваши рекомендации за пределами веб-фреймворка (например, путем создания аффинностей в ночных пакетах и т.д.).