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.
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