Partilhar via


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.

deslizante de 10 segundos do Stream AnalyticsJanela 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