0

我想实现一个可以实时生成推荐音乐播放列表的音乐推荐系统。我相信这可以在 Prediction.io 中实现......

但是,由于 Prediction.io 的设计,我需要调用 pio train、pio deploy,以便使用用户执行的新操作(如音乐等)更新学习模型。因此,我需要运行这些命令每 2 小时(或另一个适当的时间间隔)。

我最近遇到了 Apache Storm,我真的很喜欢“实时 hadoop”处理的概念。因此,我在考虑是否可以将 Prediction.io 与 Apache Storm 结合起来,以便“在线”完成学习,这将允许我的应用程序在用户的一些喜欢/动作中推荐音乐,而不是让用户等待直到学习模型更新。

如果这不可行,那么是否可以将 Spark 的 Mllib 合并到 Apache Storm bolt (java) 中,因为我可以用它构建推荐系统(而且 Prediction.io 本身似乎也是基于 Apache Spark 构建的)?

提前致谢!

4

1 回答 1

0

用例似乎可行,但我不认为“需要每隔几个小时运行一次”作为使用 Storm 的良好动机。另一方面,如果您的学习数据是“流式传输”的,您可以对风暴拓扑进行建模,以便在每次新数据到达时更新其内部知识库。这将允许您在每次用户查询某些内容时使用最新的知识库。

至于哪些库可以与 Storm 一起使用,任何 java 库(实际上任何语言的任何库,如果它可以与 java 接口)都应该可以工作。

于 2015-07-24T18:59:22.467 回答