Cassandra Aggregate

Cassandra Aggregate
„Wenn Sie aus SQL -Datenbanken stammen, sind Sie mit einer Gesamtfunktion vertraut. Diese Funktionen ermöglichen es einem, einen Gesamtbetrieb in einer ausgewählten Anweisung auszuführen und das Ergebnis zurückzugeben.

Eine Aggregatfunktion nimmt eine Reihe von Werten an, führt eine bestimmte Funktion aus und gibt einen einzelnen Wert zurück. Ein Beispiel beinhaltet die Berechnung des Durchschnitts eines bestimmten Wertesatzes.

Cassandra bietet uns eine Reihe von nativen Funktionen, mit denen wir gemeinsame Aggregationsoperationen ausführen können. Machen Sie mit uns in diesem Tutorial, während wir diese Art von Funktionen untersuchen und wie wir sie verwenden können.”

Aggregatfunktionssyntax

Das Folgende zeigt die einfache Syntax einer Cassandra -Aggregat -Funktion:

Aggregate_Name (column_name)

Die Aggregatfunktion übernimmt dann die Werte der angegebenen Spalte, führt den Vorgang aus und gibt den resultierenden Wert zurück.

Cassandra -Aggregate -Funktionen

Cassandra unterstützt die folgenden Gesamtfunktionen:

AVG -Funktion

Mit der AVG -Funktion können Sie den Durchschnittswert der angegebenen Spalte berechnen. Die Funktionssyntax ist wie gezeigt:

Avg (column_name)

Die Funktion ignoriert alle Nullwerte in der Spalte. Die Funktion unterstützt jedoch Datentypen wie Int, Double, Float, Biging, Tinyint, Smallint und Decimal.

Zählfunktion

Wie der Name schon sagt, gibt diese Funktion die Anzahl der Datensätze zurück, die keine Nullwerte enthalten. Die Funktionssyntax ist wie gezeigt:

Count (column_name)

Die Funktion funktioniert auf den Datentypen von Cassandra.

Min -Funktion

Diese Funktion gibt den kleinsten Wert in einer bestimmten Spalte zurück. Die Funktionssyntax ist wie gezeigt:

Min (column_name)

Beachten Sie, dass diese Funktion nur an numerischen Datentypen funktioniert.

Maximale Funktion

Diese Funktion gibt den größten Wert in einer bestimmten Spalte zurück. In ähnlicher Weise funktioniert die Funktion an numerischen Datentypen und ignoriert Nullwerte.

Die Funktionssyntax ist wie gezeigt:

Max (column_name)

Summenfunktion

Schließlich gibt die Summenfunktion die Summe der numerischen Werte in einer bestimmten Spalte zurück.

Die Funktionssyntax ist wie gezeigt:

Sum (column_name)

Lassen Sie uns nun Beispiele für die Verwendung dieser Funktionen ansehen.

Angenommen, wir haben eine Tabelle wie gezeigt:

Tischprodukte erstellen (
Id int,
product_name text,
Preis int,
Qty int,
Primärschlüssel (ID)
);
Beginnen Sie die Batch mit dem Timestamp 1664053851
In Produkte einfügen (ID, product_name, Preis, qty)
Werte (1, 'product_1', 100, 5640);
In Produkte einfügen (ID, product_name, Preis, qty)
Werte (2, 'product_2', 800, 550);
In Produkte einfügen (ID, product_name, Preis, qty)
Werte (3, 'product_3', 500, 5550);
In Produkte einfügen (ID, product_name, Preis, qty)
Werte (4, 'product_3', 150, 540);
In Produkte einfügen (ID, product_name, Preis, qty)
Werte (5, 'product_4', 160, 260);
In Produkte einfügen (ID, product_name, Preis, qty)
Werte (6, 'product_5', 130, 5640);
Batch auftragen;

Durchschnittswert finden

Wir können die AVG -Funktion verwenden, um den Durchschnittspreis eines Produkts in der Tabelle zu berechnen, wie in der folgenden Abfrage gezeigt:

Wählen Sie AVG (Preis) aus Produkten, wobei product_name = 'product_1';

Finden Sie die Anzahl der Zeilen

Führen Sie die Abfrage aus, um die Anzahl der Nicht-Null-Datensätze zu bestimmen:

Wählen Sie Count (product_name) aus Produkten;

Ausgang:

System.count (product_name)
----------------------------
6
(1 Reihen)

Mindestwert finden

Um den niedrigsten Preis aus der Produkttabelle zu bestimmen, führen Sie Folgendes aus:

Wählen Sie Product_Name, min (Preis) aus Produkten;

Maximaler Wert finden

Um das teuerste Produkt auf der Liste zu finden, rennen Sie:

Wählen Sie Product_Name, Max (Preis) aus Produkten aus;

Total finden

Berechnen Sie den Gesamtpreis:

Summe (Preis) aus Produkten auswählen;

Abschluss

Aggregate sind einige der wichtigsten Funktionen, die Sie in Cassandra in Ihren Cluster aufnehmen können. Anstatt wiederkehrende Operationen manuell auszuführen, können Sie ein Aggregat definieren, das dann an mehreren Objekten abgerufen oder sogar in einem anderen Cluster verwendet werden kann. Wir hoffen.