Fenêtre glissante (Azure Stream Analytics)

En cas d'utilisation d'une fenêtre glissante, le système est invité à examiner logiquement toutes les fenêtres possibles d'une longueur donnée. Étant donné que le nombre de ces fenêtres est infini, Azure Stream Analytics génère plutôt des événements uniquement pour les moments où le contenu de la fenêtre change réellement, c’est-à-dire lorsqu’un événement est entré ou quitte la fenêtre.

Le diagramme suivant illustre un flux avec une série d’événements et comment ils sont mappés dans des fenêtres glissantes de 10 secondes.

Fenêtre glissante Stream Analytics 10 secondes

Syntaxe

{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )

Notes

La fenêtre glissante peut être utilisée des deux manières décrites ci-dessus. Pour permettre la cohérence avec la fenêtre récurrente, la fonction Durée peut également être utilisée avec tous les types de fenêtres pour spécifier la taille de fenêtre.

Arguments

timeunit

Unité de temps pour la taille de fenêtre (windowsize). Le tableau suivant répertorie tous les arguments de 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.

Exemples

Cet exemple recherche tous les guichets de péage qui ont servi plus de 3 véhicules au cours des 5 dernières minutes :

SELECT DateAdd(minute,-5,System.Timestamp()) AS WinStartTime, System.Timestamp() AS WinEndTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, SlidingWindow(minute, 5)
HAVING COUNT(*) > 3