Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Hinweis
Fabric Eventstream basiert auf derselben Laufzeit wie Azure Stream Analytics. Daher gelten die in diesem Artikel erläuterten Konzepte sowohl für Azure Stream Analytics als auch für den Fabric Eventstream.
Jedes Ereignis in jeder Phase der Abfrage in Azure Stream Analytics hat einen Zeitstempel zugeordnet. System.Timestamp() ist eine Systemeigenschaft, die zum Abrufen des Zeitstempels des Ereignisses verwendet werden kann.
Hier beschreiben wir, wie Azure Stream Analytics Ereignissen Zeitstempel zuweist.
Zeitstempel für Eingabeereignisse
Der Zeitstempel des Eingabeereignisses kann durch Spaltenwert (oder einen Ausdruck) definiert werden, der in der TIMESTAMP BY-Klausel angegeben ist:
SELECT System.Timestamp() t
FROM input
TIMESTAMP BY MyTimeField
Wenn eine TIMESTAMP BY-Klausel für eine bestimmte Eingabe nicht angegeben ist, wird die Ankunftszeit des Ereignisses als Zeitstempel verwendet. Beispiel: Die Enqueued-Uhrzeit des Ereignisses wird verwendet, wenn die Eingabe Azure Event Hubs ist.
Zeitstempel des resultierenden Ereignisses
Bei der Ausführung von Berechnungen ist der Zeitstempel des resultierenden Ereignisses die früheste logische Zeit, zu der dieses Ergebnis bestimmt werden kann.
Sehen wir uns an, wie die grundlegenden Abfragevorgänge in Azure Stream Analytics (Filter, Projektionen, Aggregationen und Verknüpfungen) die Zeitstempel für das Ergebnis generieren.
Projection
SELECT
Prop1,
Prop2,
Prop3 - Prop4 / 12,
System.Timestamp() t
FROM input
Projektionen ändern den Zeitstempel des Ereignisses nicht. Der Zeitstempel des Ergebnisses entspricht dem Zeitstempel der Eingabe.
Filter
SELECT *
FROM input
WHERE prop1 > prop2
Filter ändern den Zeitstempel des Ereignisses nicht. Der Zeitstempel des Ergebnisses entspricht dem Zeitstempel der Eingabe.
GROUP BY im Zeitfenster
SELECT
userId,
AVG(prop1),
SUM(prop2),
System.Timestamp() t
FROM input
GROUP BY TumblingWindow(minute, 1), userId
Der Zeitstempel des Ergebnisses des Aggregats ist das Ende des Zeitfensters, dem dieses Ergebnis entspricht. Siehe Windowsing-Artikel , die verschiedene Fenstertypen in Azure Stream Analytics beschreiben.
INNER JOIN
SELECT
System.Timestamp()
FROM input1
JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN 0 AND 10
Eine innere Verknüpfung erzeugt Ergebnisse, die übereinstimmenden Ereignispaaren aus Input1 und Input2 entsprechen.
Das Ereignis, das die Übereinstimmung des Ereignisses e1 von input1 und e2 von input2 darstellt, wird mit dem Zeitstempel der letzten Zeitstempel von e1 und e2 abgestempelt.
LINKE ÄUßERE VERKNÜPFUNG
SELECT
System.Timestamp()
FROM input1
LEFT JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN -2 AND 10
Eine linke äußere Verknüpfung erzeugt Ergebnisse von zwei Typen. Einige entsprechen einem übereinstimmenden Ereignispaar von Input1 und Input2; andere entsprechen nur einem Ereignis von Input1 und geben an, dass kein übereinstimmende Ereignis von Input2 gefunden wurde.
Die Ereignisse, die eine Übereinstimmung darstellen (sowohl input1 als auch input2) sind zeitstempelt durch den neuesten Zeitstempel der übereinstimmenden Eingaben (wie bei der INNER JOIN oben).
Die Ereignisse, die Nichtübereinstimmungen darstellen (Eingabe2 ist NULL), werden zeitstempelt durch die neueste logische Uhrzeit, zu der ein übereinstimmendes Eingabe2-Ereignis aufgetreten sein könnte. Beispielsweise ist es im Beispiel der Zeitstempel von Input1 + 10 Minuten.