Partilhar via


Janela Deslizante

✅ Azure Stream Analytics ✅ Fabric Eventstream

Ao usar uma janela deslizante, o sistema é solicitado a considerar logicamente todas as janelas possíveis de um determinado comprimento. Como o número dessas janelas seria infinito, o Azure Stream Analytics produz eventos apenas para os pontos no tempo em que o conteúdo da janela realmente muda, em outras palavras, quando um evento entra 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 Stream Analytics

Sintaxe

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

Observação

A janela deslizante pode ser usada das 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

unidade de tempo

É a unidade de tempo para o tamanho da janela. A tabela a seguir lista todos os argumentos de unidade de tempo válidos.

Unidade de tempo Abreviações
Dia DD, D
hora HH
minuto mi, n
segundo SS, S
milissegundos em
microssegundos MCS

tamanho da janela

Um grande número inteiro que descreve o tamanho da janela. O tamanho da janela é estático e não pode ser alterado dinamicamente em tempo de execução.

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

Exemplos

Este exemplo encontra todas as cabines de pedágio 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