Ventana deslizante (Azure Stream Analytics)

Al usar una ventana deslizante, se solicita al sistema que considere de forma lógica todas las posibles ventanas de una longitud determinada. Como el número de ventanas de este tipo sería infinito, Azure Stream Analytics en su lugar genera eventos solo para esos puntos en el tiempo cuando realmente cambia el contenido de la ventana, es decir, cuando un evento entró o sale de la ventana.

En el diagrama siguiente se muestra una secuencia con una serie de eventos y cómo se asignan a ventanas deslizantes de 10 segundos.

Ventana deslizante de Stream Analytics 10 segundos

Sintaxis

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

Nota:

La ventana deslizante se puede usar de las dos maneras mencionadas anteriormente. Para permitir la coherencia con la ventana de salto, también se puede usar la función Duration con todos los tipos de ventanas para especificar el tamaño de ventana.

Argumentos

timeunit

Es la unidad de tiempo para windowsize. En la tabla siguiente se enumeran todos los argumentos timeunit válidos.

Timeunit Abreviaturas
day dd, d
hora hh
minute mi, n
second ss, s
milisegundo ms
microsegundo mcs

windowsize

Un número entero grande que describe el tamaño de la ventana. El tamaño de ventana es estático y no se puede cambiar dinámicamente en tiempo de ejecución.

El tamaño máximo de la ventana en todos los casos es 7 días.

Ejemplos

Este ejemplo busca todos los puestos que han servido más de tres vehículos en los ú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