【问题标题】:Apache Mahout with Ruby on Rails architectureApache Mahout 与 Ruby on Rails 架构
【发布时间】:2015-05-09 03:37:26
【问题描述】:

我正在尝试使用railsapache mahout 构建推荐引擎,但我无法确定我的起点。

我有一个简单的rails 4.2.1 应用程序,它带有一个使用Active Record 的postgres 数据库,托管在heroku 上。

阅读 Mahout,似乎可以使用 JDBCDataModel 接口为我的推荐引擎获取数据,这意味着我可能需要

  • 将我的 Ruby-on-rails 项目更改为 JRuby-on-rails 项目,
  • 使用 [activerecord-jdbc-adapter][1] 与 Mahout 库进行通信,我必须将其包含在我的 Rails 项目中。

假设我让所有这些部分都能正常工作,那么我会

  • 在 JRuby 脚本中使用 Mahout 的 API 编写我的推荐器,
  • 使用Resque将此脚本作为后台作业运行,这将继续根据用户操作计算推荐。

这种架构看起来不错吗?还是我应该从 rails 转移到 java serverlet?

我对 Rails 非常熟悉,并且只使用 Java 构建简单的 Android 应用,使用 Rails/Node 作为后端。

【问题讨论】:

    标签: ruby-on-rails postgresql jruby mahout jrubyonrails


    【解决方案1】:

    您看过 PredicitonIO 吗?他们有几个基于 Spark 的推荐器,包括一个 Ruby SDK。检查他们的template gallery 并检查他们的Ruby SDK

    Mahout 有一个新的推荐器组件,旨在与搜索引擎一起使用。如果你想要一些非常灵活的东西,你可以在Mahout site 上查看。这将取决于您如何集成搜索引擎,因为 Mahout 模型需要使用 one 进行索引,并且 recs 会与搜索查询一起返回。

    我相信 Mahout 版本也是 PredictionIO 正在进行的一项工作。

    顺便说一句,这些都是基于 Spark 构建的,并且不使用 Mahout 的旧 Hadoop MapReduce 版本。它们都允许您使用自己的应用程序特定用户和项目 ID,而旧版 Mahout 推荐器要求您维护进出 Mahout ID 的映射。这些还允许从实时收集的使用数据中实时提供记录。

    【讨论】:

    • 谢谢,我会试试 PredictionIO
    猜你喜欢
    • 2011-03-14
    • 1970-01-01
    • 2012-03-29
    • 2018-02-12
    • 2011-01-06
    • 2012-06-02
    • 2015-07-16
    • 1970-01-01
    • 2013-04-24
    相关资源
    最近更新 更多