Compartilhar via


Janela deslizante (Azure Stream Analytics)

Ao usar uma janela deslizante, o sistema é solicitado a considerar logicamente todas as janelas possíveis de um determinado período. Como o número dessas janelas seria infinito, o Azure Stream Analytics gera eventos somente para esses pontos no tempo em que o conteúdo da janela realmente é alterado, em outras palavras, quando um evento entrou ou sai da janela.

O diagrama a seguir ilustra um fluxo com uma série de eventos e como eles são mapeados em janelas deslizantes de 10 segundos.

Janela deslizante de 10 segundos do

Syntax

{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )

Observação

A janela deslizante pode ser usada nas duas maneiras acima. Para permitir a consistência com a janela de salto, a função Duração também pode ser usada com todos os tipos de janelas para especificar o tamanho da janela.

Argumentos

timeunit

É a unidade de tempo para o windowsize. A tabela a seguir lista todos os argumentos timeunit válidos.

Timeunit Abreviações
dia dd, d
hour hh
minute mi, n
second ss, s
milissegundo ms
microssegundo mcs

Windowsize

Um inteiro grande que descreve o tamanho da janela. O windowsize é estático e não pode ser alterado dinamicamente em runtime.

O tamanho máximo da janela em todos os casos é 7 dias.

Exemplos

Esse exemplo localiza todas as cabines do pedágio serviram mais de três veículos nos últimos 5 minutos:

SELECT DateAdd(minute,-5,System.Timestamp()) AS WinStartTime, System.Timestamp() AS WinEndTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, SlidingWindow(minute, 5)
HAVING COUNT(*) > 3