我的查询是:
给定一个用户 ID,根据该用户的评分与其他用户的评分进行比较,为该用户找到合适的歌曲推荐。
我希望这里的一切都是实时的。因此,随着事件的发生,适当地对建议进行加权并维护一个支持查询的列族,例如
SELECT recommendation_id FROM cf WHERE user_id=123 AND recommendation_type='song'
所以,我在想像一个列族,它存储用户的所有评分(每首歌都是一个列),然后是一组推荐。但是,我无法想出一种方法来实时完成这项工作。我想要一个风暴拓扑来填充评级以及可能的建议。
另一件看起来很混乱的事情是它需要在 cassandra 中进行大量更新。如果只是创造会更好,对吧?
我一直在尝试寻找这种数据模型的示例,但还没有找到。其他人发现的任何资源都会有所帮助。
更新: 解决问题的另一种方法是,我试图找到一种支持迭代协同过滤的数据结构。这可能吗?