Delen via


ReferentiegegevensDEELNAME

✅ Azure Stream Analytics ✅ Fabric Eventstream

In een normaal scenario gebruiken we een engine voor gebeurtenisverwerking om streaminggegevens met een zeer lage latentie te berekenen. In veel gevallen moeten gebruikers persistente historische gegevens of een trage veranderende gegevensset (ook wel referentiegegevens genoemd) correleren met de realtime gebeurtenisstroom om slimmere beslissingen over het systeem te nemen. Voeg bijvoorbeeld mijn gebeurtenisstroom toe aan een statische gegevensset waarmee IP-adressen worden toegewezen aan locaties. Dit is de enige JOIN die wordt ondersteund in Stream Analytics, waarbij een tijdelijke afhankelijkheid niet nodig is. Referentiegegevens kunnen ook worden gebruikt om apparaatspecifieke drempelwaarden te hebben.

Voorbeeld

Als een bedrijfsvoertuig is geregistreerd bij het tolbedrijf, kunnen ze door de tolcel gaan zonder te worden gestopt voor inspectie. We gebruiken een opzoektabel voor bedrijfsvoertuigenregistratie om alle bedrijfsvoertuigen met verlopen registratie te identificeren.

SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId  
FROM Input1 I1 TIMESTAMP BY EntryTime  
JOIN Registration R  
ON I1.LicensePlate = R.LicensePlate  
WHERE R.Expired = '1'

Bijzonderheden van Referentie data JOIN

  • Voor het gebruik van Reference Data JOIN moet een invoerbron voor referentiegegevens worden gedefinieerd.
  • Referentiegegevens JOIN wordt ondersteund voor inner JOIN (standaard) en left outer JOIN, met referentiegegevens aan de rechterkant van de JOIN-operator.
  • Gegevenstypen zijn een belangrijk aspect in de evaluatie van het joinpredicaat (ON component). Vergelijkbare waarden voor verschillende gegevenstypen (1.0 en "1") komen mogelijk niet overeen. Het wordt aanbevolen om sleutels expliciet te converteren naar een algemeen type.
  • Referentiegegevens kunnen statisch zijn (slechts eenmaal geladen) of dynamisch (regelmatig vernieuwd). Zelfs in het dynamische geval maken referentiegegevens echter niet de tijdvoortgang, zodat de stroom aan de linkerkant nieuwe gebeurtenissen moet ophalen om uitvoer te produceren. Zie ook hoe de tijd vordert in Azure Stream Analytics voor meer informatie.

Prestatie-overwegingen

Om prestatieverminderingen te voorkomen, moet referentiepredicaten (ON component) worden gedefinieerd via eenvoudige sleutele kwaliteiten (ON s.myKey = r.myKey). Het gebruik van complexe expressies of ongelijkstanden leidt intern tot kruisvervoegingen, gevolgd door filters (volledige scan versus zoekactie), die de algehele latentie kunnen beïnvloeden.

Verplaats indien mogelijk deze complexe expressies naar de WHERE component van de querystap of voeg dezelfde referentiegegevens meerdere keren samen met eenvoudigere voorwaarden.

Zie ook