Dela via


ReferensdataANSLUTNING (Azure Stream Analytics)

I ett vanligt scenario använder vi en händelsebearbetningsmotor för att beräkna strömmande data med mycket låg svarstid. I många fall måste användarna korrelera bevarade historiska data eller en långsamt föränderlig datauppsättning (även kallat referensdata) med realtidshändelseströmmen för att fatta smartare beslut om systemet. Du kan till exempel ansluta min händelseström till en statisk datauppsättning som mappar IP-adresser till platser. Detta är den enda JOIN som stöds i Stream Analytics där en temporal gräns inte är nödvändig. Referensdata kan också användas för att ha enhetsspecifika tröskelvärden.

Exempel

Om ett nyttofordon är registrerat hos Toll Company kan de passera genom avgiftsbelagda bås utan att stoppas för inspektion. Vi kommer att använda en uppslagstabell för registrering av kommersiella fordon för att identifiera alla kommersiella fordon med utgången registrering.

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'

Särskilda egenskaper för referensdataANSLUTNING

  • Användning av ReferensdataANSLUTNING kräver att en indatakälla för referensdata definieras.
  • Referensdata JOIN stöds för inre JOIN (standard) och vänster yttre JOIN, med referensdata till höger om JOIN-operatorn.
  • Datatyper är en viktig aspekt i utvärderingen av kopplingspredikatet (ON -sats). Liknande värden för olika datatyper (1.0 och "1") kanske inte matchas. Vi rekommenderar att du explicit konverterar nycklar till en gemensam typ.
  • Referensdata kan vara statiska (läses bara in en gång) eller dynamiska (uppdateras regelbundet). Men även i det dynamiska fallet gör referensdata inte tidsförloppet så strömmen till vänster måste hämta nya händelser för att generera utdata. Mer information finns i hur tiden går i Azure Stream Analytics .

Saker att tänka på gällande prestanda

För att förhindra prestandaförsämringar bör referenskopplingspredikat (ON -sats) definieras via enkla nyckeljämförelsear (ON s.myKey = r.myKey). Användning av komplexa uttryck, eller ojämlikheter, resulterar internt i korskopplingar följt av filter (fullständig genomsökning kontra sökning), vilket kan påverka den övergripande svarstiden.

När det är möjligt flyttar du dessa komplexa uttryck till WHERE -satsen i frågesteget eller ansluter samma referensdata flera gånger var och en med enklare villkor.

Se även