在 Rails 架构上使用 Ruby 的 Apache Mahout
Apache Mahout with Ruby on Rails architecture
我正在尝试使用 rails
和 apache 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 作为后端。
你看过 PredicitonIO 了吗?他们有几个基于 Spark 构建的推荐系统,包括一个 Ruby SDK。检查他们的 template gallery and check their Ruby SDK.
Mahout 有一个新的推荐组件,旨在与搜索引擎一起使用。如果您想要非常灵活的东西,可以在 Mahout site 上查看。这将取决于您如何集成搜索引擎,因为 Mahout 模型需要用一个索引并通过搜索查询返回 recs。
我相信 Mahout 版本也在 PredictionIO 进行中。
顺便说一句,这些都是基于 Spark 构建的,不使用 Mahout 的旧 Hadoop MapReduce 版本。它们都允许您使用您自己的特定于应用程序的用户和项目 ID,而旧的 Mahout 推荐系统要求您维护进出 Mahout ID 的映射。这些还允许来自实时收集的使用数据的实时服务记录。
我正在尝试使用 rails
和 apache 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 作为后端。
你看过 PredicitonIO 了吗?他们有几个基于 Spark 构建的推荐系统,包括一个 Ruby SDK。检查他们的 template gallery and check their Ruby SDK.
Mahout 有一个新的推荐组件,旨在与搜索引擎一起使用。如果您想要非常灵活的东西,可以在 Mahout site 上查看。这将取决于您如何集成搜索引擎,因为 Mahout 模型需要用一个索引并通过搜索查询返回 recs。
我相信 Mahout 版本也在 PredictionIO 进行中。
顺便说一句,这些都是基于 Spark 构建的,不使用 Mahout 的旧 Hadoop MapReduce 版本。它们都允许您使用您自己的特定于应用程序的用户和项目 ID,而旧的 Mahout 推荐系统要求您维护进出 Mahout ID 的映射。这些还允许来自实时收集的使用数据的实时服务记录。