Mahout (và Hadoop) làm việc khá tốt trong Rails chạy trên JRuby. Bạn có thể bao gồm Hadoop và Mahout lọ như vậy:
require 'rubygems'
require 'java'
Dir [ "/ quản tượng-base-dir/**/* jar."]. mỗi {| jar | yêu cầu jar}
Dir ["/ hadoop-base-dir/**/*. jar"]. mỗi {| jar | đòi hỏi jar}
Sau đó, bạn có thể bao gồm các lớp Mahout bạn có kế hoạch sử dụng, ví dụ:
include_class 'org.apache.hadoop.fs.Path'
org.apache include_class' .hadoop.conf.Configuration '
include_class 'org.apache.hadoop.fs.FileSystem'
include_class 'org.apache.mahout.clustering.spectral.common.AffinityMatrixInputJob org.apache.mahout.clustering'
include_class' .spectral .kmeans.SpectralKMeansDriver '
Từ đó, bạn có thể làm theo Mahout Java Documents và JRuby quy ước để xây dựng hệ thống Rails rec của bạn.
Điều đó đang được nói, tôi không chắc chắn đó sẽ là kiến trúc tốt nhất cho trang web của bạn (khó nói mà không có chi tiết hơn). Nếu quy mô vấn đề của bạn đủ lớn để đảm bảo Mahout, có thể bạn nên sử dụng Rails chỉ cho các công cụ web và tạo các đề xuất của bạn bên ngoài khung web (ví dụ bằng cách tạo các mối quan hệ theo lô hàng đêm, v.v.).
Nguồn
2011-10-03 23:54:14
Lọc cộng tác không phải là một thuật toán đặc biệt dài để triển khai. Bạn có thể dành ít thời gian hơn để thực hiện thuật toán hơn là cố gắng làm cho nó hoạt động với ruby trên đường ray. – Steve