App Engine:内存如何工作? (将 Mahout 与应用引擎一起使用)

App engine: How does memory work? (using Mahout with the app engine)

我正在尝试将 Mahout 与应用引擎一起使用。出现了一些问题,但我现在的主要问题是:如果模型太大而无法保存到内存中,我该如何提出建议?

我正在使用内存缓存,但默认情况下 Mahout 数据模型不可序列化。我改为序列化 FastIDSet,但是当我必须进行推荐时,我必须从内存缓存中获取 FastIDSet,将其用作推荐器的参数,然后进行推荐。

虽然我的数据库不是太大 (19 MB),但将两者都保存在内存中会给我一个堆 space 错误。

我不能分块执行此操作,因为 Mahout 确实希望使用完整的数据模型进行初始化。

有人遇到过这个问题吗?

谢谢,美好的一天。

我弄明白了,必须在 appengine-web.xml.

中设置我的缩放比例

如果我必须过于频繁地从 fastIDSET 重建模型,仍然会看到推荐器的速度。

您正在使用一些旧的、正在走向折旧的技术。名为 SimilarityAnalysis.cooccurrence 的新 Mahout 关联引擎在 Apache 2 许可下的 end-to-end 推荐系统中使用。查看 Universal Recommender,它基于 Spark Mahout 工作并使用搜索引擎提供推荐

顺便说一句,我是一名致力于此的 Mahout 提交者,不会无缘无故地贬低 Mahout 的老推荐者:-)