Janela em Cascata (Azure Stream Analytics)
As janelas em cascata são uma série de intervalos de tempo com tamanho fixo, não sobrepostos e contínuos. O diagrama seguinte ilustra um fluxo com uma série de eventos e como são mapeados em janelas em cascata de 10 segundos.
,
Syntax
{TUMBLINGWINDOW | TUMBLING} ( timeunit , windowsize, [offsetsize] )
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
Nota
A Janela em Cascata 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. A duração da janela tem de ser uma constante flutuante positiva.
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 é de 7 dias.
offsetsize
Por predefinição, as janelas em cascata são inclusivas no final da janela e exclusivas no início ( por exemplo, 12:00 – janela das 13:00 incluirão eventos que ocorreram exatamente às 13:00, mas não incluirão eventos ocorridos às 12:00 (estes eventos farão parte da janela das 11:00 às 12:00).
O parâmetro Offset pode ser utilizado para alterar este comportamento e incluir os eventos no início da janela e excluir os que ocorreram no final.
Exemplos
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
Considerações de tempo
Cada operação de janela produz o evento no final da janela. As janelas do Azure Stream Analytics são abertas na hora de início da janela e fechadas na hora de fim da janela. Por exemplo, se tiver um período de 5 minutos das 00:00 às 00:05, todos os eventos com carimbo de data/hora superior a 00:00 e até ao carimbo de data/hora 00:05 inclusive serão incluídos nesta janela. O resultado da janela será um único evento com base na função de agregação utilizada com um carimbo de data/hora igual à hora de fim da janela. O carimbo de data/hora do evento de saída da janela pode ser projetado na instrução SELECT com a propriedade System.Timestamp() com um alias.