2010-06-16 10 views
9

Ich bin ziemlich neu bei Apache Cassandra und Nosql im Allgemeinen.Wie aggregiert Apache Cassandra Operationen?

In SQL kann ich Aggregat Operationen tun:

SELECT 
    country, sum(age)/count(*) AS averageAge 
FROM people 
GROUP BY country; 

Das ist schön, weil es innerhalb der DB, anstatt auf jede Zeile bewegen sich in den ‚Menschen‘ Tabelle in die Client-Schicht berechnet wird, zu tun die Berechnung.

Ist dies in Apache Cassandra möglich? Wie?

Antwort

9

Cassandra ist in erster Linie ein Mechanismus, der schnelle Schreibvorgänge und Suchvorgänge unterstützt. Es gibt keine Unterstützung für Berechnungen wie Aggregate in SQL, da dies nicht dafür vorgesehen ist. Ich würde vorschlagen, die bekannten Cassandra-Anwendungsfälle zu lesen, um einen besseren Einblick zu bekommen :) Ich habe einige Artikel auf meiner leckeren Seite vorgemerkt. Hier ist der Link:

http://delicious.com/vibhutesagar/cassandra

+0

Sie können immer noch integrieren [Cassandra und Hadoop] (http://wiki.apache.org/cassandra/HadoopSupport#MapReduce) und dann MapReduce verwenden. – user359996

+1

Nur eine Anmerkung für die Leser, ab 2014 unterstützt Cassandra Aggregationen: https://issues.apache.org/jira/browse/CASSANDRA-4914 –

2

Mit SliceRange könnte als Cassandras Version von LIMIT und ORDER BY gedacht werden.

GROUP BY, COUNT und SUM werden nicht im Lieferumfang enthalten.

Ein Blick auf die API page aus dem Wiki ist ein guter Anfang.

0

Aktuelle Version von Cassandra nicht SUM() unterstützen. Nur count(*) wird unterstützt.

Verwandte Themen