假设我目前有一张这样的桌子
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(使用前将#替换为@)