Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
✅ Azure Stream Analytics
Chaque événement à chaque étape de la requête dans Azure Stream Analytics a un horodatage associé. System.Timestamp() est une propriété système qui peut être utilisée pour récupérer l’horodatage de l’événement.
Ci-dessous, nous décrivons comment Azure Stream Analytics affecte des horodatages aux événements.
Horodatage des événements d’entrée
L’horodatage de l’événement d’entrée peut être défini par la valeur de colonne (ou une expression) spécifiée dans la clause TIMESTAMP BY :
SELECT System.Timestamp() t
FROM input
TIMESTAMP BY MyTimeField
Si une clause TIMESTAMP BY n’est pas spécifiée pour une entrée donnée, l’heure d’arrivée de l’événement est utilisée comme horodatage. Par exemple, l’heure mise en file d’attente de l’événement sera utilisée en cas d’entrée Event Hub.
Horodatage d’événements résultant
Lorsque des calculs sont effectués, l’horodatage de l’événement résultant est l’heure logique la plus ancienne à laquelle ce résultat peut être déterminé.
Examinons comment les opérations de requête de base dans Azure Stream Analytics (filtres, projections, agrégations et jointures) génèrent les horodatages du résultat.
Projection
SELECT
Prop1,
Prop2,
Prop3 - Prop4 / 12,
System.Timestamp() t
FROM input
Les projections ne modifient pas l’horodatage de l’événement, l’horodatage du résultat est identique à l’horodatage de l’entrée.
Filter
SELECT *
FROM input
WHERE prop1 > prop2
Les filtres ne modifient pas l’horodatage de l’événement. L’horodatage du résultat est identique à l’horodatage de l’entrée.
FENÊTRE GROUP BY au fil du temps
SELECT
userId,
AVG(prop1),
SUM(prop2),
System.Timestamp() t
FROM input
GROUP BY TumblingWindow(minute, 1), userId
L’horodatage du résultat de l’agrégat est la fin de la fenêtre de temps à laquelle ce résultat correspond. Consultez les articles de fenêtrage décrivant différents types de fenêtres dans Azure Stream Analytics.
INNER JOIN
SELECT
System.Timestamp()
FROM input1
JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN 0 AND 10
Une jointure interne produit des résultats qui correspondent à des paires d’événements correspondantes à partir d’input1 et d’input2.
L’événement qui représente la correspondance de l’événement e1 à partir d’input1 et e2 à partir d’input2 est horodaté par les derniers horodatages d’e1 et e2.
JOINTURE EXTERNE GAUCHE
SELECT
System.Timestamp()
FROM input1
LEFT JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN -2 AND 10
Une jointure externe gauche produit des résultats de deux types. Certains correspondent à une paire d’événements correspondante d’entrée1 et d’entrée2 ; d’autres correspondent uniquement à un événement d’entrée1 et indiquent qu’aucun événement correspondant d’entrée2 n’a été trouvé.
Les événements qui représentent une correspondance (a à la fois input1 et input2) sont horodatés par les derniers horodatages des entrées correspondantes (comme dans le cas de INNER JOIN ci-dessus).
Les événements qui représentent des non-correspondances (input2 est NULL) sont horodatés par l’heure logique la plus récente à laquelle un événement d’entrée2 correspondant a pu se produire. Par exemple, dans l’exemple ci-dessus, il s’agit de l’horodatage d’entrée1 + 10 minutes.