Átfedésmentes ablak (Azure Stream Analytics)
Az átfedésmentes ablakok rögzített méretű, egymást nem fedő és összefüggő időintervallumok. Az alábbi ábra egy eseménysorozatot ábrázoló streamet szemléltet, és azt, hogy hogyan vannak leképezve 10 másodperces ugróablakokra.
Syntax
{TUMBLINGWINDOW | TUMBLING} ( timeunit , windowsize, [offsetsize] )
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
Megjegyzés
A Átfedésmentes ablak a fenti két módon használható. A Hopping ablakkal való konzisztencia engedélyezéséhez az Duration függvény minden ablaktípussal használható az ablak méretének megadásához. Az ablak időtartamának pozitív lebegőpontos állandónak kell lennie.
Argumentumok
timeunit
Az ablakméret 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 7 nap.
eltolás
Alapértelmezés szerint a ugróablakok az ablak végén vannak, és az elején kizárólagosak – például 12:00 és 13:00 óra között – azok az események, amelyek pontosan 13:00-kor történtek, de nem tartalmazzák a 12:00-kor történt eseményeket (ezek az események a 11:00 és 12:00 közötti időszak részét képezik).
Az Eltolás paraméter használatával módosíthatja ezt 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, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
alert
FROM
temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25
Idő megfontolandó szempontok
Minden ablakművelet eseményt ad ki az ablak végén. 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.