Janela Deslizante (Azure Stream Analytics)
Ao utilizar uma janela deslizante, é pedido ao sistema que considere logicamente todas as janelas possíveis de um determinado comprimento. Como o número dessas janelas seria infinito, o Azure Stream Analytics, em vez disso, produz eventos apenas para esses pontos no tempo quando o conteúdo da janela é realmente alterado, por outras palavras, quando um evento entrou ou sai da janela.
O diagrama seguinte ilustra um fluxo com uma série de eventos e como são mapeados em janelas deslizantes de 10 segundos.
Janela janela
Syntax
{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )
Nota
A Janela Deslizante pode ser utilizada das duas formas acima. Para permitir a consistência com a Janela de Salto, a função Duração também pode ser utilizada com todos os tipos de janelas para especificar o tamanho da janela.
Argumentos
timeunit
É a unidade de tempo para o windowsize. A tabela seguinte lista todos os argumentos timeunit válidos.
Intervalo de tempo | Abreviaturas |
---|---|
day | dd, d |
hour | hh |
minute | mi, n |
second | ss, s |
milissegundos | ms |
microssegundos | mcs |
windowsize
Um grande número inteiro que descreve o tamanho da janela. O windowsize é estático e não pode ser alterado dinamicamente no runtime.
O tamanho máximo da janela em todos os casos é de 7 dias.
Exemplos
Este exemplo localiza todas as portagens que serviram mais de 3 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