Händelseströmstransformeringar
Redigeringsgränssnittet dra och släpp händelseström erbjuder en enkel och användarvänlig metod för att konstruera komplexa arbetsflöden för bearbetning av händelsedata.
Händelseströmstransformeringar
Du kan transformera data i en händelseström genom att tillämpa följande transformeringar:
- Filter: Använd filtertransformeringen för att filtrera händelser baserat på värdet för ett fält i indata. Beroende på datatypen (tal eller text) behåller omvandlingen de värden som matchar det valda villkoret, till exempel är
null
elleris not null
. - Hantera fält: Med den här omvandlingen kan du lägga till, ta bort, ändra datatyp eller byta namn på fält som kommer in från en indata eller en annan transformering.
- Aggregering: Använd aggregeringstransformationen för att beräkna en aggregering (summa, minimum, maximum eller medelvärde) varje gång en ny händelse inträffar under en tidsperiod. Den här åtgärden gör det också möjligt att byta namn på dessa beräknade kolumner och filtrera eller segmentera aggregeringen baserat på andra dimensioner i dina data. Du kan ha en eller flera sammansättningar i samma transformering.
- Gruppera efter: Använd gruppen efter transformering för att beräkna aggregeringar för alla händelser inom ett visst tidsfönster. Du kan gruppera efter värden i ett eller flera fält. Det är som om aggregeringstransformeringen tillåter namnbyte av kolumner, men ger fler alternativ för aggregering och innehåller mer komplexa alternativ för tidsfönster. Precis som aggregering kan du lägga till mer än en aggregering per transformering.
- Union: Använd unionstransformeringen för att ansluta två eller flera noder och lägga till händelser med delade fält (med samma namn och datatyp) i en tabell. Fält som inte matchar tas bort och ingår inte i utdata.
- Expandera: Använd den här matristransformeringen för att skapa en ny rad för varje värde i en matris.
- Anslut: den här kopplingen är en transformering för att kombinera data från två strömmar baserat på ett matchande villkor mellan dem.
Fönsterfunktioner i Eventstream
Fönsterfunktioner är ett sätt att utföra åtgärder på data som finns i temporala fönster, till exempel aggregering, filtrering eller transformering av strömmande händelser som inträffar inom en angiven tidsperiod. Fönsterfunktioner är användbara för att analysera strömmande data som ändras över tid, till exempel sensoravläsningar, webbklick, onlinetransaktioner med mera och ger stor flexibilitet för att hålla en korrekt registrering av händelser när de inträffar.
Tidigare nämnde vi operatorn Gruppera efter i redigeringsprogrammet för händelseprocessorn. Med det här grafiska gränssnittet kan vi definiera den logik vi behöver för bearbetning, transformering och routning av händelsedata. Det finns fyra parametrar som behöver anges i inställningarna gruppera efter operator för att använda dessa fönsterfunktioner som omfattar:
Fönstertypen, som kan vara rullande, glidande, ögonblicksbild, hopping eller session.
rullande fönster delar in inkommande händelser i fasta och icke-överlappande intervall baserat på ankomsttid.
Det här fönstret visar antalet tweets per tidszon var 10:e sekund från varandra.
skjutfönster tar händelserna i fasta och överlappande intervall baserat på tid och delar upp dem.
Ett fönster är ett skjutfönster på 10 sekunder som varnar användaren när en artikel nämns mer än tre gånger på mindre än 10 sekunder
Kommentar
Alla tweets tillhör samma ämne i det här scenariot
sessionsfönster delar helt enkelt in händelser i variabel- och icke-överlappande intervall som baseras på en lucka av brist på aktivitet.
Ett fönster som visar det totala antalet tweets som inträffar inom fem minuter från varandra
hopping windows hopping windows are different from tumbling windows as they model scheduled overlapping window.
Ett 10 sekunders hoppfönster, som uppdateras var femte sekund och ger det totala antalet tweets under de senaste 10 sekunderna.
snapshot windows snapshot windows group event stream events that have the same timestamp and are unlike the other windowing functions, which require the function to be named. I ögonblicksbildsfönster lägger du till i
System.Timestamp()
GROUP BY
-satsen.Det här fönstret innehåller ett antal tweets med samma artikeltyp som inträffar exakt samtidigt.
Fönstrets varaktighet är längden på varje fönsterintervall, som kan vara i sekunder, minuter, timmar och till och med dagar. Ett exempel på varaktighet, till exempel 10 minuter, innebär helt enkelt att varje fönster täcker 10 minuters händelsedata.
Fönstrets förskjutning är en valfri parameter som förskjuter start och slut för varje fönsterintervall med en angiven tidsperiod. Ett exempel på när den här valfria parametern anges kan vara en fönsterförskjutning på 2 minuter, vilket innebär att varje fönster startar och slutar 2 minuter senare än vanligt.
Grupperingsnyckeln är en eller flera kolumner i dina händelsedata som du vill gruppera efter. Till exempel efter sensor-ID eller objektkategori.
Aggregeringsfunktionen är en eller flera av de funktioner som du vill använda för varje grupp av händelser i varje fönster. Där funktionerna counts, sums, averages, min/max och även custom blir användbara.