Megosztás a következőn keresztül:


Referencia data JOIN (Azure Stream Analytics)

Egy szokásos forgatókönyvben egy eseményfeldolgozó motort használunk a streamelési adatok nagyon alacsony késésű kiszámításához. Sok esetben a felhasználóknak korrelálniuk kell a megőrzött előzményadatokat vagy egy lassú adathalmazt (más néven referenciaadatokat) a valós idejű eseménystreamel, hogy intelligensebb döntéseket hozhassanak a rendszerről. Csatlakozzon például az eseménystreamemhez egy statikus adatkészlethez, amely ip-címeket képez le helyekre. Ez az egyetlen támogatott JOIN a Stream Analyticsben, ahol nincs szükség időbeli kötöttségre. A referenciaadatok eszközspecifikus küszöbértékekkel is használhatók.

Példa

Ha egy haszongépjármű regisztrálva van a díjköteles vállalatnál, akkor anélkül haladhat át az útdíjszedőn, hogy ellenőrzésre megállnának. Egy haszongépjármű-regisztrációs keresési táblát használunk az összes lejárt regisztrációval rendelkező haszongépjármű azonosításához.

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'

A referenciaadatok JOIN-jának sajátosságai

  • A Referenciaadat-illesztés használatához meg kell határozni egy bemeneti forrást a referenciaadatokhoz.
  • A referenciaadatok ILLESZTése támogatott a belső JOIN (alapértelmezett) és bal oldali külső JOIN esetében, a hivatkozási adatok pedig a JOIN operátor jobb oldalán.
  • Az adattípusok fontos szerepet jelentenek az illesztési predikátum (záradék)ON értékelésében. Előfordulhat, hogy a különböző adattípusok (1.0 és "1") hasonló értékei nem egyeznek. Javasoljuk, hogy a kulcsokat explicit módon alakítsa át közös típusra.
  • A referenciaadatok lehetnek statikusak (csak egyszer tölthetők be) vagy dinamikusak (rendszeresen frissítve). A referenciaadatok azonban még a dinamikus esetben sem teszik meg az idő előrehaladását, ezért a bal oldali streamnek új eseményeket kell lekérnie a kimenetek előállításához. További információért tekintse meg , hogyan halad az idő az Azure Stream Analyticsben .

A teljesítménnyel kapcsolatos megfontolások

A teljesítménycsökkenés megelőzése érdekében egyszerű kulcsegyenlegekkel () kell meghatározni a referenciaillesztési predikátumokat (ONON s.myKey = r.myKeyzáradékot). Összetett kifejezések vagy egyenlőtlenségek használata belsőleg keresztillesztéseket, majd szűrőket (teljes vizsgálat és keresés) eredményez, amelyek külön-külön befolyásolhatják a teljes késést.

Ha lehetséges, helyezze át ezeket az összetett kifejezéseket a WHERE lekérdezési lépés záradékába, vagy csatlakozzon ugyanazokat a referenciaadatokat többször is egyszerűbb feltételekkel.

Lásd még: