Felugró ablak

✅ Azure Stream Analytics ✅ Fabric Eventstream

A átfedésmentes ablakoktól eltérően a windowsos modell ütemezett átfedésben lévő ablakai. A felugró ablak specifikációja három paraméterből áll: az időegységből, az ablakméretből (az egyes ablakok időtartamából) és a ugrásból (az egyes ablakok az előzőhöz képest előrehaladtával). Emellett az eltolás opcionális negyedik paraméterként is használható. Vegye figyelembe, hogy a bukóablak egyszerűen egy felugró ablak, amelynek "ugrása" egyenlő a "méretével".

Az alábbi ábrán egy eseménysorozatot tartalmazó stream látható. Minden doboz egy felugró ablakot jelöl, és azokat az eseményeket, amelyek az adott ablak részeként vannak megszámolva, feltéve, hogy az ugrás 5, a "méret" pedig 10.

Stream Analytics hopping ablakdiagram

Szemantika

{HOPPINGWINDOW | HOPPING} ( timeunit  , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit  , windowsize ) , Hop (timeunit  , windowsize ), [Offset(timeunit  , offsetsize)])  
  

Megjegyzés:

A Felugró ablak a fenti két módon használható. Ha az ablakosítás és a hopsize azonos időegységű, akkor az Időtartam és a Ugrás függvény nélkül is használható. Az Időtartam függvény más típusú ablakokkal is használható az ablak méretének megadásához.

Érvek

timeunit

A windowsize vagy a hopsize időegysége. Az alábbi táblázat az összes érvényes időegység-argumentumot felsorolja.

Timeunit Rövidítések
nap dd, d
óra Hh
perc mi, n
második ss, s
Ezredmásodperc Ms
mikroszekundum Mcs

windowsize

Egy nagy egész szám, amely az ablak méretét írja le. Az ablakosítás statikus, és futásidőben nem módosítható dinamikusan.

Az ablak maximális mérete minden esetben 7 nap.

ugrás

Egy nagy egész szám, amely a Ugrás méretét írja le.

eltolás

Alapértelmezés szerint a felugró ablakok az ablak végén vannak, és az elején kizárólagosak – például 12:05 –13:05 között az ablak pontosan 13:05-kor történtek, de nem tartalmazzák a 12:05:05-kor történt eseményeket (ezek az események 12:00 és 13:00 óra között lesznek).
Az Eltolás paraméter használatával módosíthatja a viselkedést, és belefoglalhatja az eseményeket az ablak elejébe, és kizárhatja azokat, amelyek a végén történtek.

Példák

SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)  
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, HoppingWindow(Duration(hour, 1), Hop(minute, 5), Offset(millisecond, -1))  
  

Idő szempontja

Minden ablakművelet eseményt ad ki az ablak végén (emelőablakok esetén ez minden ugrási méretnél történik). Az Azure Stream Analytics ablakai az ablak kezdő időpontjában nyílnak meg, és az ablak végén bezáródnak. Ha például 5 perces ablaka van 12:00 és 12:05 között, az összes olyan esemény, amelynek időbélyege meghaladja a 12:00-t, és a 12:05-ig terjedő időbélyeg is szerepel ebben az ablakban. Az ablak kimenete egyetlen esemény lesz az összesítő függvény alapján, amely az ablak befejezési időpontjának megfelelő időbélyeggel rendelkezik. Az ablak kimeneti eseményének időbélyege a SELECT utasításban kivetíthető a System.Timestamp() tulajdonság használatával alias használatával.