Eventstream-transformaties
De bewerkingsinterface voor slepen en neerzetten van eventstreams biedt een eenvoudige en gebruiksvriendelijke methode voor het maken van complexe werkstromen voor gebeurtenisgegevensverwerking.
Eventstream-transformaties
U kunt gegevens in een eventstream transformeren door de volgende transformaties toe te passen:
- Filter: Gebruik de filtertransformatie om gebeurtenissen te filteren op basis van de waarde van een veld in de invoer. Afhankelijk van het gegevenstype (getal of tekst) behoudt de transformatie de waarden die overeenkomen met de geselecteerde voorwaarde, zoals is
null
ofis not null
. - Velden beheren: met deze transformatie kunt u velden toevoegen, verwijderen, wijzigen of de naam van velden wijzigen die afkomstig zijn van een invoer of een andere transformatie.
- Aggregaat: Gebruik de aggregatietransformatie om elke keer dat een nieuwe gebeurtenis plaatsvindt, te berekenen (Som, Minimum, Maximum of Gemiddelde). Met deze bewerking kunt u ook de naam van deze berekende kolommen wijzigen en de aggregatie filteren of segmenteren op basis van andere dimensies in uw gegevens. U kunt een of meer aggregaties in dezelfde transformatie hebben.
- Groeperen op: Gebruik de groep op transformatie om aggregaties te berekenen voor alle gebeurtenissen binnen een bepaald tijdvenster. U kunt groeperen op de waarden in een of meer velden. Het is net zoals de aggregatietransformatie de naam van kolommen kan wijzigen, maar biedt meer opties voor aggregatie en bevat complexere opties voor tijdvensters. Net als Aggregatie kunt u meer dan één aggregatie per transformatie toevoegen.
- Union: Gebruik de transformatie union om twee of meer knooppunten te verbinden en gebeurtenissen toe te voegen met gedeelde velden (met dezelfde naam en hetzelfde gegevenstype) in één tabel. Velden die niet overeenkomen, worden verwijderd en niet opgenomen in de uitvoer.
- Uitvouwen: Gebruik deze matrixtransformatie om een nieuwe rij te maken voor elke waarde in een matrix.
- Join: deze join is een transformatie voor het combineren van gegevens uit twee streams op basis van een overeenkomende voorwaarde tussen deze stromen.
Vensterfuncties in Eventstream
Vensterfuncties zijn een manier om bewerkingen uit te voeren op de gegevens in tijdelijke vensters, zoals het samenvoegen, filteren of transformeren van streaming-gebeurtenissen die binnen een opgegeven periode plaatsvinden. Vensterfuncties zijn handig voor het analyseren van streaminggegevens die in de loop van de tijd veranderen, zoals sensorleesbewerkingen, webklikken, onlinetransacties en meer en bieden een grote flexibiliteit om een nauwkeurig overzicht te houden van gebeurtenissen wanneer ze optreden.
Eerder hebben we de operator Groeperen op in de gebeurtenisprocessoreditor genoemd. Met deze grafische interface kunnen we de logica definiëren die we nodig hebben voor het verwerken, transformeren en routeren van gebeurtenisgegevens. Er zijn vier parameters die moeten worden opgegeven in de operatorinstellingen voor groeperen op om deze vensterfuncties te kunnen gebruiken, waaronder:
Het venstertype, dat kan tumbling, sliding, snapshot, hopping of sessie zijn.
tumblingvensters verdelen binnenkomende gebeurtenissen in vaste en niet-overlappingsintervallen op basis van de aankomsttijd.
In dit venster ziet u elke 10 seconden een telling van tweets per tijdzone.
schuifvensters gebruiken de gebeurtenissen in vaste en overlappende intervallen op basis van tijd en verdeelt ze.
Een venster is een schuifvenster van 10 seconden dat de gebruiker waarschuwt wanneer een artikel meer dan drie keer in minder dan 10 seconden wordt vermeld
Notitie
Alle tweets behoren tot hetzelfde onderwerp in dit scenario
sessievensters verdelen gebeurtenissen in variabele en niet-overlappingsintervallen die zijn gebaseerd op een hiaat van gebrek aan activiteit.
Een venster, waarin het totale aantal tweets wordt weergegeven dat binnen vijf minuten van elkaar plaatsvindt
hopping windows hopping windows verschillen van tumblingvensters omdat ze gepland overlappende vensters modelleren.
Een hoppingvenster van 10 seconden, dat elke 5 seconden wordt vernieuwd en het totale aantal tweets in de afgelopen 10 seconden biedt.
momentopname van windows-momentopname van gebeurtenissen in de windows-groep gebeurtenisstroom gebeurtenissen met dezelfde tijdstempel en zijn in tegenstelling tot de andere vensterfuncties, waarvoor de functie moet worden benoemd. In momentopnamevensters voegt u de
System.Timestamp()
component toeGROUP BY
.Dit venster bevat een telling van tweets met hetzelfde artikeltype dat precies op hetzelfde moment voorkomt.
De duur van het venster is de lengte van elk vensterinterval, dat kan zijn in seconden, minuten, uren en zelfs dagen. Een voorbeeldduur, zoals 10 minuten, betekent dat elk venster 10 minuten aan gebeurtenisgegevens omvat.
De vensterverschuiving is een optionele parameter die het begin en einde van elk vensterinterval met een opgegeven hoeveelheid tijd verschuift. Een voorbeeld van wanneer deze optionele parameter is ingesteld, kan een vensterverschil van 2 minuten zijn, wat betekent dat elk venster wordt gestart en 2 minuten later eindigt dan normaal.
De groeperingssleutel is een of meer kolommen in uw gebeurtenisgegevens waarop u wilt groeperen. Bijvoorbeeld op sensor-id of itemcategorie.
De aggregatiefunctie is een of meer functies die u wilt toepassen op elke groep gebeurtenissen in elk venster. Waar de aantallen, sommen, gemiddelden, min/max en zelfs aangepaste functies nuttig worden.