我应该使用什么数据结构来模拟 Cassandra 中的“按计数器排序”?

2023-12-30

假设我目前有一张这样的桌子

create table comment_counters
{ 
    contentid uuid,
    commentid uuid,
    ...
    liked counter,
    PRIMARY_KEY(contentid, commentid)
 };

该表的目的是跟踪评论以及单个评论被“点赞”的次数。

我想要做的是根据此表中每个内容的点赞数确定热门评论(假设有 20 条热门评论)。

我知道没有办法通过柜台订购,所以我想知道的是,在 Cassandra 中是否还有其他方法可以做到这一点,例如通过重组我的表格或跟踪更多/不同的信息,或者我别无选择,但是在 RDBMS 中执行此操作?

在客户端中排序并不是我现阶段想要考虑的真正选择。


不幸的是,现在可以使用普通的 Cassandra 查询来执行此类聚合。进行此类数据分析的最佳选择是使用外部工具,例如Spark http://www.spark-project.org/。 使用 Spark,您可以启动定期作业,从 comment_counters 表中读取并聚合所有计数器,然后将结果(例如前 20 条评论)写入另一个表,之后您可以使用该表直接查询。 看here http://planetcassandra.org/getting-started-with-apache-spark-and-cassandra/开始使用 Cassandra 和 Spark。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该使用什么数据结构来模拟 Cassandra 中的“按计数器排序”? 的相关文章

随机推荐