Cassandra aggregater

Cassandra aggregater
“Hvis du kommer fra SQL -databaser, er du kjent med en samlet funksjon. Disse funksjonene lar en utføre en samlet operasjon på en valgt uttalelse og returnere resultatet.

En samlet funksjon tar et sett med verdier, utfører en spesifikk funksjon og returnerer en enkelt verdi. Et eksempel inkluderer beregning av gjennomsnittet av et gitt sett med verdier.

Cassandra gir oss et sett med innfødte funksjoner som lar oss utføre vanlige aggregeringsoperasjoner. Bli med i denne opplæringen når vi utforsker denne typen funksjoner og hvordan vi kan bruke dem.”

Aggregatfunksjonssyntaks

Følgende viser den enkle syntaksen til en Cassandra -aggregatfunksjon:

Aggregate_name (Column_name)

Den samlede funksjonen vil deretter ta verdiene til den spesifiserte kolonnen, utføre operasjonen og returnere den resulterende verdien.

Cassandra aggregatfunksjoner

Cassandra støtter følgende samlede funksjoner:

AVG -funksjon

AVG -funksjonen lar deg beregne gjennomsnittsverdien til den gitte kolonnen. Funksjonssyntaksen er som vist:

AVG (kolonne_navn)

Funksjonen vil ignorere eventuelle nullverdier i kolonnen. Funksjonen støtter imidlertid datatyper som Int, Double, Float, Biging, Tinyint, Smallint og Decimal.

Tellefunksjon

Som navnet antyder, returnerer denne funksjonen antall poster som ikke inneholder nullverdier. Funksjonssyntaksen er som vist:

Telling (kolonne_navn)

Funksjonen vil fungere på Cassandras datatyper.

Min funksjon

Denne funksjonen vil returnere den minste verdien i en gitt kolonne. Funksjonssyntaksen er som vist:

Min (kolonne_navn)

Husk at denne funksjonen bare vil fungere på numeriske datatyper.

MAX -funksjon

Denne funksjonen vil returnere den største verdien i en gitt kolonne. Tilsvarende vil funksjonen fungere på numeriske datatyper og ignorere nullverdier.

Funksjonssyntaksen er som vist:

Maks (kolonne_navn)

Sumfunksjon

Endelig vil sumfunksjonen returnere summen av numeriske verdier i en gitt kolonne.

Funksjonssyntaksen er som vist:

Sum (kolonne_navn)

La oss nå se på eksempler på hvordan vi bruker disse funksjonene.

Anta at vi har et bord som vist:

Lag bordprodukter (
id int,
Produktnavn Tekst,
Pris int,
Antall int,
Primærnøkkel (ID)
);
Begynn batch ved hjelp av tidsstempel 1664053851
Sett inn produkter (ID, produktnavn, pris, Antall)
verdier (1, 'produkt_1', 100, 5640);
Sett inn produkter (ID, produktnavn, pris, Antall)
verdier (2, 'produkt_2', 800, 550);
Sett inn produkter (ID, produktnavn, pris, Antall)
verdier (3, 'Produkt_3', 500, 5550);
Sett inn produkter (ID, produktnavn, pris, Antall)
verdier (4, 'Produkt_3', 150, 540);
Sett inn produkter (ID, produktnavn, pris, Antall)
verdier (5, 'Produkt_4', 160, 260);
Sett inn produkter (ID, produktnavn, pris, Antall)
verdier (6, 'produkt_5', 130, 5640);
bruke batch;

Finne gjennomsnittsverdi

Vi kan bruke AVG -funksjonen til å beregne gjennomsnittsprisen for et produkt i tabellen som vist i spørringen nedenfor:

Velg AVG (pris) fra produkter der produktnavn = 'Product_1';

Finn antall rader

For å bestemme antall ikke-null-poster, kjør spørringen:

Velg Count (Product_Name) fra produkter;

Produksjon:

system.telling (produktnavn)
----------------------------
6
(1 rader)

Finn minimumsverdi

For å bestemme den laveste prisen fra produkttabellen, kjør følgende:

Velg produktnavn, min (pris) fra produkter;

Finn maksimal verdi

For å finne ut det dyreste produktet på listen, kjør: Kjør:

velg produktnavn, maks (pris) fra produkter;

Finne totalt

Beregn totalprisen:

Velg sum (pris) fra produkter;

Konklusjon

Aggregater er noen av de viktigste funksjonene som Cassandra lar deg ta med i klyngen din. I stedet for å utføre tilbakevendende operasjoner manuelt, kan du definere et aggregat som deretter kan huskes på flere objekter eller til og med brukt i en annen klynge. Vi håper denne opplæringen ga deg en første fot inn i Cassandra Aggregates.