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.