我正在尝试将Mahout与应用引擎配合使用。出现了一些问题,但我现在的主要问题是:如果模型太大而无法留在内存中,我该如何提出建议?
我正在使用内存缓存,但Mahout数据模型默认不可序列化。我正在序列化FastIDSet,但是当我不得不提出建议时,我必须从memcache获取FastIDSet,将其用作推荐器的参数,然后提出建议。
这样可以,但保留在内存中会给我一个堆空间错误,即使我的数据库不是太大(19 MB)。
我无法在块中执行此操作,因为Mahout确实希望使用完整数据模型进行初始化。
有没有人有这个问题的经验?
谢谢,祝你好运。
答案 0 :(得分:1)
我想通了,不得不在appengine-web.xml中设置我的缩放。
如果我不得不经常从fastIDSET重建模型,仍然可以看到推荐器的速度。
答案 1 :(得分:0)
你正在使用一些旧的,在折旧的道路上,技术。名为SimilarityAnalysis.cooccurrence的新Mahout关联引擎用于Apache 2许可下的端到端推荐程序。查看基于Spark Mahout工作的Universal Recommender,并使用搜索引擎提供推荐
顺便说一句,我是Mahout的工作人员,并没有试图贬低Mahout的老推荐者:-)