cassandra中的实时推荐引擎数据模型

时间:2013-08-05 18:38:59

标签: cassandra data-modeling recommendation-engine

我的查询是:

根据用户ID,根据用户的评分与其他用户的评分进行比较,为该用户找到合适的歌曲推荐。

我希望一切都在这里实时。因此,当事件进入时,适当地加权推荐并维护支持查询的列族(如

SELECT recommendation_id FROM cf WHERE user_id=123 AND recommendation_type='song'

所以,我正在考虑像列家族那样存储用户的所有评级(每首歌是一列),然后是一组推荐。但是,我无法想出一种方法来实时完成这项工作。我想要一个风暴拓扑结构来填充评级以及可能的建议。

另一件看起来很混乱的事情是它需要在cassandra中进行大量更新。如果它只是创造它会更好,对吧?

我一直试图找到这样一个数据模型的例子,但还没找到。其他人发现的任何资源都会有所帮助。

更新:构建问题的另一种方法是,我正在尝试找到支持迭代协同过滤的数据结构。这可能吗?

2 个答案:

答案 0 :(得分:1)

我最近看到Spotify使用ML + Hadoop for Predictive analysis使用矩阵分解的这些幻灯片。正如您将在幻灯片中看到的那样,卡桑德拉就在图片中,但大部分结果都是每晚都预先计算出来的。

答案 1 :(得分:0)

您可能希望使用CQL集合,包括集合,映射和列表。看看Datastax社区发布的这篇博文:

http://www.datastax.com/dev/blog/cql3_collections