Compartilhar via


Janela Deslizante

✅ Fluxo de eventos do Azure Stream Analytics ✅ Fabric

Ao contrário das janelas em cascata, o modelo de janelas de salto programou janelas sobrepostas. Uma especificação de janela de salto consiste em três parâmetros: o timeunit, o windowsize (por quanto tempo cada janela dura) e o salto (pelo quanto cada janela avança em relação à anterior). Além disso, o deslocamento pode ser usado como um quarto parâmetro opcional. Observe que uma janela em cascata é simplesmente uma janela de salto cujo 'salto' é igual ao seu 'tamanho'.

A ilustração a seguir mostra um fluxo com uma série de eventos. Cada caixa representa uma janela de salto e os eventos que são contados como parte dessa janela, supondo que o 'salto' seja 5 e o 'tamanho' seja 10.

janela de salto do Stream Analytics no diagramaDiagrama da da

Sintaxe

{HOPPINGWINDOW | HOPPING} ( timeunit  , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit  , windowsize ) , Hop (timeunit  , windowsize ), [Offset(timeunit  , offsetsize)])  
  

Observação

A Janela de Salto pode ser usada das duas maneiras acima. Se o windowsize e o hopsize tiverem o mesmo timeunit, você poderá usá-lo sem as funções Duração e Salto. A função Duração também pode ser usada com outros tipos de janelas para especificar o tamanho da janela.

Argumentos

timeunit

É a unidade de tempo para o windowsize ou o hopsize. A tabela a seguir lista todos os argumentos de timeunit válidos.

Timeunit Abreviaturas
dia dd, d
hora Hh
minuto mi, n
segundo ss, s
milissegundo Ms
microssegundo Mcs

windowsize

Um inteiro grande que descreve o tamanho da janela. A janela é estática e não pode ser alterada dinamicamente no runtime.

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

hopsize

Um inteiro grande que descreve o tamanho do salto.

offsetsize

Por padrão, as janelas de salto são inclusivas no final da janela e exclusivas no início – por exemplo, das 12h05 às 13h05, a janela incluirá eventos que ocorreram exatamente às 13h05, mas não incluirão eventos que ocorreram às 12h05 (esses eventos farão parte da janela das 12h às 23h).
O parâmetro Offset pode ser usado para alterar o 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, HoppingWindow(Duration(hour, 1), Hop(minute, 5), Offset(millisecond, -1))  
  

Consideração de tempo

Cada operação de janela gera eventos no final da janela (no caso de janelas de salto, isso acontece em cada tamanho de salto). 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 00h às 00h05, todos os eventos com carimbo de data/hora maior que 12h e até o carimbo de data/hora 12:05, inclusive, serão incluídos nesta 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.