Funções de janela (Azure Stream Analytics)

Nas aplicações que processam eventos em tempo real, é comum executar alguma computação baseada em conjunto (agregação) ou outras operações em subconjunto de eventos que se inserem num determinado período de tempo. Uma vez que o conceito de tempo é uma necessidade fundamental para sistemas complexos de processamento de eventos, é importante ter uma forma simples de trabalhar com o componente de tempo da lógica de consulta no sistema. No Azure Stream Analytics, estes subconjunto de eventos são definidos através de janelas para representar agrupamentos por tempo. Este artigo descreve as janelas e como são definidas, identifica os tipos de janelas suportados e explica como pode utilizar janelas com vários operadores.

Compreender o Windows

Uma janela contém dados de eventos ao longo de uma linha cronológica e permite-lhe realizar várias operações nos eventos nessa janela. Por exemplo, poderá querer somar os valores dos campos de payload numa determinada janela, conforme mostrado na ilustração seguinte.

Janela em cascata da linguagem de consulta do Stream Analytics

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. Cada janela alinha-se automaticamente à hora zero. Por exemplo, uma janela em cascata de 5 minutos será alinhada (12:00-12:05] , (12:05-12:10], ..., etc.

Após uma operação de janela, o carimbo de data/hora de um evento será diferente do atributo de hora do evento original (a hora de chegada ou a coluna utilizada com TIMESTAMP BY). O carimbo de data/hora atual e atualizado de um evento pode sempre ser acedido com system.timestamp().

Nota

Todas as janelas devem ser utilizadas numa cláusula GROUP BY.

Existem cinco tipos de janelas:

  1. Janela em Cascata (Azure Stream Analytics)

  2. Janela de Salto (Azure Stream Analytics)

  3. Janela Deslizante (Azure Stream Analytics)

  4. Janela de Sessão (Azure Stream Analytics)

  5. Janela de Instantâneo (Azure Stream Analytics)

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

Pode agregar ao longo de várias janelas de tempo na mesma instrução GROUP BY com a função Windows (Azure Stream Analytics ).

Consulte também

Funções Incorporadas (Azure Stream Analytics)
Funções de Agregação (Azure Stream Analytics)
Funções analíticas (Azure Stream Analytics)
Funções de Matriz (Stream Analytics)
Funções de Conversão (Azure Stream Analytics)
Funções de Data e Hora (Azure Stream Analytics)
Funções de Registo (Azure Stream Analytics)