Funções de janela (Azure Stream Analytics)
Em aplicativos que processam eventos em tempo real, é comum executar alguma computação baseada em conjunto (agregação) ou outras operações em subconjuntos de eventos que se enquadram em algum período de tempo. Como o conceito de tempo é uma necessidade fundamental para sistemas de processamento de eventos complexos, é importante ter uma maneira simples de trabalhar com o componente de tempo de lógica de consulta no sistema. No Azure Stream Analytics, esses subconjuntos de eventos são definidos por meio de janelas para representar agrupamentos por tempo. Este artigo descreve as janelas e como elas são definidas, identifica os tipos de janelas com suporte e explica como você pode usar janelas com vários operadores.
Noções básicas sobre janelas
Uma janela contém dados do evento ao longo de uma linha do tempo e permite executar várias operações dos eventos dentro dessa janela. Por exemplo, suponhamos que você deseja somar os valores dos campos de carga em uma determinada janela, como na ilustração a seguir.
Cada operação de janela gera eventos 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 término da janela. Por exemplo, se você tiver uma janela de 5 minutos das 00h00 às 00h05, todos os eventos com carimbo de data/hora maior que 12:00 e até o carimbo de data/hora 12:05, inclusive, serão incluídos nessa janela. A saída da janela será um único evento com base na função de agregação usada com um carimbo de data/hora igual à hora de término da janela. O carimbo de data/hora do evento de saída da janela pode ser projetado na instrução SELECT usando a propriedade System.Timestamp() usando um alias. Cada janela alinha-se automaticamente à hora zero. Por exemplo, uma janela em cascata de 5 minutos se alinhará a (12:00-12:05] , (12:05-12:10], ..., e assim por diante.
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 usada com TIMESTAMP BY). O carimbo de data/hora atualizado atual de um evento sempre pode ser acessado com system.timestamp().
Observação
Todas as janelas devem ser usadas em uma cláusula GROUP BY.
Há cinco tipos de janelas:
O tamanho máximo da janela em todos os casos é 7 dias.
Você pode agregar em várias janelas de tempo na mesma instrução GROUP BY usando a função Windows (Azure Stream Analytics).
Consulte Também
Funções internas (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 registro (Azure Stream Analytics)