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