Sdílet prostřednictvím


Přeskakující okno (Azure Stream Analytics)

Přeskakující okna jsou řada nepřekrývajících se souvislých časových intervalů s pevnou velikostí. Následující diagram znázorňuje stream s řadou událostí a způsob jejich mapování na 10sekundová přeskakující okna.

Přeskakující okno Stream Analytics 5 min.

Syntax

{TUMBLINGWINDOW | TUMBLING} ( timeunit  , windowsize, [offsetsize] )  
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit  , windowsize ), [Offset(timeunit  , offsetsize)] )  
  

Poznámka

Přeskakující okno je možné použít dvěma způsoby výše. Pokud chcete zajistit konzistenci s přeskakujícími okny, můžete použít funkci Duration (Doba trvání) se všemi typy oken k určení velikosti okna. Doba trvání okna musí být kladná konstanta float.

Argumenty

timeunit

Je časová jednotka pro velikost okna. V následující tabulce jsou uvedeny všechny platné argumenty časového intervalu.

Časová nit Zkratky
day dd, d
hour hh
minute mi, n
second ss, s
Milisekund Paní
mikrosekundy Mcs

velikost okna

Velké celé číslo, které popisuje velikost okna. Velikost okna je statická a nelze ji dynamicky měnit za běhu.

Maximální velikost okna je 7 dní.

offsetsize

Ve výchozím nastavení jsou přeskakující okna zahrnutá na konci okna a na začátku jsou výhradní – například okno od 12:00 do 13:00 bude obsahovat události, které se staly přesně ve 13:00, ale nebudou zahrnovat události, které se staly ve 12:00 (tyto události budou součástí okna 11:00–12:00).

Parametr Offset lze použít ke změně tohoto chování a zahrnutí událostí na začátku okna a vyloučení událostí, ke kterým došlo na konci.

Příklady

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

Časové aspekty

Každá operace okna vypíše událost na konci okna. Okna služby Azure Stream Analytics se otevřou v počátečním čase okna a zavírají se v čase ukončení okna. Pokud máte například 5minutové okno od 0:00 do 12:05, budou v tomto okně zahrnuty všechny události s časovým razítkem větším než 0:00 a časovým razítkem 12:05 včetně. Výstupem okna bude jedna událost založená na agregační funkci použité s časovým razítkem odpovídajícím koncovému času okna. Časové razítko výstupní události okna lze promítnou v příkazu SELECT pomocí vlastnosti System.Timestamp() pomocí aliasu.

Viz také

Skákající okno
Posuvné okno
Vytváření oken