Ventana de saltos de tamaño constante (Análisis de transmisiones de Azure)
Las ventanas de saltos de tamaño constante son una serie de intervalos de tiempo de tamaño fijo, contiguos y que no se superponen. En el diagrama siguiente se muestra una secuencia con una serie de eventos y cómo se asignan a ventanas de saltos de tamaño constante de 10 segundos.
: ventana de saltos de tamaño constante
Sintaxis
{TUMBLINGWINDOW | TUMBLING} ( timeunit , windowsize, [offsetsize] )
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
Nota:
La ventana de saltos de tamaño constante 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. La duración de la ventana debe ser una constante float positiva.
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 es 7 días.
offsetsize
De forma predeterminada, las ventanas de saltos de tamaño constante son inclusivas al final de la ventana y exclusivas al principio, por ejemplo, 12:00 p. m. – ventana 1:00 p.m. incluirá eventos que se produjeron exactamente a las 11:00 p. m., pero no incluirán eventos que se produjeron a las 12:00 p. m. (estos eventos formarán parte de la ventana de 11:00 – 12:00 p. m.).
El parámetro Offset se puede usar para cambiar este comportamiento e incluir los eventos al principio de la ventana y excluir los que se produjeron al final.
Ejemplos
SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
alert
FROM
temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25
Consideraciones de tiempo
Cada operación de ventana genera un evento al final de la ventana. Las ventanas de Azure Stream Analytics se abren en la hora de inicio de la ventana y se cierran en la hora de finalización de la ventana. Por ejemplo, si tiene una ventana de 5 minutos de 12:00 a. m. a 12:05 a. m., todos los eventos con marca de tiempo mayor que las 12:00 a. m. y hasta la marca de tiempo 12:05, ambos incluidos, se incluirán en esta ventana. La salida de la ventana será un evento único basado en la función de agregado usada con una marca de tiempo igual que la hora de finalización de la ventana. La marca de tiempo del evento de salida de la ventana se puede proyectar en la instrucción SELECT mediante la propiedad System.Timestamp() mediante un alias.