Partager via


Fenêtre sautante

✅ Azure Stream Analytics ✅ Fabric Eventstream

Contrairement aux fenêtres bascules, le modèle de fenêtres en tronçonnage a planifié des fenêtres qui se chevauchent. Une spécification de fenêtre de saut se compose de trois paramètres : l’unité de temps, la fenêtreize (durée de vie de chaque fenêtre) et le saut (par la quantité de déplacement de chaque fenêtre vers l’avant par rapport au précédent). En outre, offsetsize peut être utilisé comme quatrième paramètre facultatif. Notez qu’une fenêtre bascule est simplement une fenêtre de saut dont le « saut » est égal à sa « taille ».

L’illustration suivante montre un flux avec une série d’événements. Chaque zone représente une fenêtre de saut et les événements qui sont comptabilisés dans le cadre de cette fenêtre, en supposant que le « tronçon » est 5 et que la « taille » est 10.

Diagramme de fenêtre de tronçonnage Stream Analytics diagramme

Syntaxe

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

Remarque

La fenêtre de saut peut être utilisée de deux manières ci-dessus. Si la fenêtre et le tronçon ont la même unité de temps, vous pouvez l’utiliser sans les fonctions Durée et Tronçon. La fonction Duration peut également être utilisée avec d’autres types de fenêtres pour spécifier la taille de la fenêtre.

Les arguments

timeunit

Unité de temps pour la fenêtre ou le tronçon. Le tableau suivant répertorie tous les arguments d’unité de temps valides.

Timeunit Abréviations
jour dd, d
heure Hh
minute mi, n
deuxième ss, s
milliseconde milliseconde
microseconde Mcs

windowsize

Entier volumineux qui décrit 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, 12h05 – 13h05) incluent les événements qui se sont produits exactement à 13h05, mais n’incluent pas les événements qui se sont produits à 12:05 :PM (ces événements font partie de la fenêtre 12:00 - 01:00 PM).
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))  
  

Temps à prendre en compte

Chaque opération de fenêtre génère un événement à la fin de la fenêtre (dans le cas de fenêtres de 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 avez une fenêtre de 5 minutes comprise entre 12h00 et 12h05, tous les événements avec timestamp supérieur à 12h00 et jusqu’à 12h05 inclus seront inclus dans cette fenêtre. La sortie de la fenêtre sera 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.