我对Apache Cassandra和一般的nosql相当陌生。Apache Cassandra如何完成聚合操作?
在SQL我可以做聚合操作,如:
SELECT
country, sum(age)/count(*) AS averageAge
FROM people
GROUP BY country;
,因为它是数据库中计算,而不是在“人”表移到每一行到客户端层要做到这一点是好的计算。
这在Apache Cassandra中可能吗?怎么样?
我对Apache Cassandra和一般的nosql相当陌生。Apache Cassandra如何完成聚合操作?
在SQL我可以做聚合操作,如:
SELECT
country, sum(age)/count(*) AS averageAge
FROM people
GROUP BY country;
,因为它是数据库中计算,而不是在“人”表移到每一行到客户端层要做到这一点是好的计算。
这在Apache Cassandra中可能吗?怎么样?
Cassandra主要是一种支持快速写入和查找的机制。不支持像SQL中的聚合这样的计算,因为它不是为此设计的。我建议阅读流行的Cassandra用例以获得更好的洞察力:)我已在我的美味页面上添加了一些书签。这里是链接:
卡桑德拉当前版本不支持SUM()
。 仅支持count(*)
。
您仍然可以集成[Cassandra和Hadoop](http://wiki.apache.org/cassandra/HadoopSupport#MapReduce),然后使用MapReduce。 – user359996 2012-03-09 00:17:59
给读者的一封信,截至2014年,Cassandra支持聚合:https://issues.apache.org/jira/browse/CASSANDRA-4914 – 2015-03-19 18:37:38