Fenêtre récurrente (Azure Stream Analytics)

Contrairement aux fenêtres bascules, le modèle de fenêtres en saut d’accès a planifié des fenêtres qui se chevauchent. Une spécification de fenêtre de saut se compose de trois paramètres : timeunit, windowsize (durée de chaque fenêtre) et hopsize (en fonction de la quantité de progression de chaque fenêtre par rapport à la précédente). En outre, offsetsize peut être utilisé comme quatrième paramètre facultatif. Notez qu'une fenêtre bascule est simplement une fenêtre récurrente dont le « saut » est égal à sa taille « taille ».

L'illustration suivante montre un flux comprenant une série d'événements. Chaque case représente une fenêtre récurrente et les événements qui sont considérés comme faisant partie de cette fenêtre, en supposant que le « saut » est de 5 et que la « taille » est de 10.

Diagramme de fenêtre de saut Stream Analytics Diagramme de

Syntaxe

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

Notes

La fenêtre récurrente peut être utilisée des deux manières ci-dessus. Si la taille de fenêtre (windowsize) et la taille de saut (hopsize) utilisent la même unité de temps (timeunit), vous pouvez utiliser la fenêtre sans les fonctions Durée et Saut. La fonction Durée peut également être utilisée avec d'autres types de fenêtres pour spécifier la taille de la fenêtre.

Arguments

timeunit

Unité de temps pour la taille windows ou hopsize. Le tableau suivant répertorie tous les arguments timeunit valides.

Timeunit Abréviations
day dd, d
hour hh
minute mi, n
second ss, s
milliseconde ms
microseconde mcs

windowsize

Grand entier décrivant la taille de la fenêtre. La fenêtre est statique et ne peut pas être modifiée dynamiquement au moment de l’exécution.

La taille maximale de la fenêtre dans tous les cas est de 7 jours.

hopsize

Entier volumineux qui décrit la taille du tronçon.

offsetsize

Par défaut, les fenêtres de saut sont inclusives à la fin de la fenêtre et exclusives au début. Par exemple, la fenêtre de 12h05 à 13h05 inclut les événements qui se sont produits exactement à 13h05, mais pas les événements qui se sont produits à 12h05:05 (ces événements feront partie de la fenêtre 12:00 -13:00).
Le paramètre Offset peut être utilisé pour modifier le comportement et inclure les événements au début de la fenêtre et exclure ceux qui se sont produits à la fin.

Exemples

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))  
  

Considérations relatives au temps

Chaque opération de fenêtre génère un événement à la fin de la fenêtre (dans le cas de fenêtres en saut, cela se produit à chaque taille de tronçon). Les fenêtres d’Azure Stream Analytics sont ouvertes à l’heure de début de la fenêtre et fermées à l’heure de fin de la fenêtre. Par exemple, si vous disposez d’une fenêtre de 5 minutes de 00h00 à 00h05, tous les événements dont l’horodatage est supérieur à 12h00 et jusqu’à 12h05 inclus seront inclus dans cette fenêtre. La sortie de la fenêtre est un événement unique basé sur la fonction d'agrégation utilisée avec un horodatage égal à l'heure de fin de la fenêtre. L’horodatage de l’événement de sortie de la fenêtre peut être projeté dans l’instruction SELECT à l’aide de la propriété System.Timestamp() à l’aide d’un alias.