Hopping Ablak (Azure Stream Analytics)

A átfedésben lévő ablakokkal ellentétben a windowsos modell átfedő ablakokat ütemez. 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 (azzal, hogy az egyes ablakok mennyivel haladnak előre az előzőhöz képest). Emellett az eltolás választható negyedik paraméterként is használható. Vegye figyelembe, hogy a ugróablak egyszerűen egy felugró ablak, amelynek "ugrása" megegyezik a "méretével".

Az alábbi ábrán egy stream látható egy eseménysorozattal. 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 a ugrás 5, a "méret" pedig 10.

Stream Analytics hopping ablakdiagram

Syntax

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

Megjegyzés

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

Argumentumok

timeunit

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

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

windowsize

Egy nagy egész szám, amely az ablak méretét írja le. A windowsize 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 és 13:05 között – azok az események, amelyek 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 a 12:00 és 13:00 közötti időszak részét képezik).
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 (az ablakok felugrása esetén ez minden ugrási méretben 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 12:00-nál hosszabb és 12:05-ös időbélyegzőt tartalmazó esemény ebbe az ablakba lesz belefoglalva. Az ablak kimenete egyetlen esemény lesz a használt összesítő függvény alapján, és az időbélyeg megegyezik az ablak befejezési időpontjával. Az ablak kimeneti eseményének időbélyege a SELECT utasításban kivetíthető egy alias használatával a System.Timestamp() tulajdonság használatával.