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
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.
Nachfolgend wird beschrieben, 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: Enqueued time of the event will be used in case of Event Hub input.
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 nicht den Zeitstempel des Ereignisses. 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. Weitere Informationen finden Sie in Windowsing-Artikeln , 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) werden mit dem Zeitstempel der übereinstimmenden Eingaben (wie im Fall von INNER JOIN oben) zeitstempelt.
Die Ereignisse, die Nicht-Übereinstimmungen darstellen (Eingabe2 ist NULL), werden zeitstempelt durch den neuesten logischen Zeitpunkt, zu dem ein übereinstimmendes Eingabe2-Ereignis aufgetreten sein könnte. Im obigen Beispiel wird beispielsweise der Zeitstempel +10 Minuten eingegeben.