Referenz zur Stream Analytics-Abfragesprache

Azure Stream Analytics bietet eine SQL-Abfragesprache zum Durchführen von Transformationen und Berechnungen über Ereignisdaten Ströme.

Stream Analytics-Abfragesprache, eine Teilmenge der T-SQL-Syntax

In diesem Dokument werden Syntax, Nutzung und bewährte Methoden der Stream Analytics-Abfragesprache beschrieben. Alle in diesem Dokument verwendeten Beispiele basieren auf dem unten beschriebenen Mautstellen-Szenario.

Die Stream Analytics-Abfragesprache ist eine Teilmenge der T-SQL-Standardsyntax für Streamingberechnungen.

Das Mautstellen-Szenario

Eine Mautstation ist ein bekanntes Phänomen, dem wir auf vielen Autobahnen, Schnellstraßen, Brücken und Tunneln weltweit begegnen. Jede Mautstation verfügt über mehrere manuelle oder automatisierte Zahlstellen. Im ersten Fall wird die Gebühr bei einem Kassierer entrichtet, und im zweiten Fall scannt ein oben auf der Mautstelle montierter Sensor eine an der Windschutzscheibe befestigte RFID-Karte, während ein Fahrzeug die Mautstelle passiert. Es ist einfach, die Durchfahrt von Fahrzeugen durch diese Mautstellen als einen Strom von Ereignissen zu visualisieren, über den interessante Vorgänge ausgeführt werden können.

Ankunftszeit oder Anwendungszeit

In jedem zeitbasierten System wie Azure Stream Analytics kommt es darauf an, den Zeitablauf nachzuvollziehen. Jedes Ereignis, das über das System fließt, verfügt über einen Zeitstempel, auf den über System. Zeitstempel ()zugegriffen werden kann. Anders ausgedrückt: jedes Ereignis im System zeigt einen Zeitpunkt an. Dieser Zeitstempel kann entweder eine Anwendungszeit sein, die vom Benutzer in der Abfrage angegeben wird, oder er kann basierend auf der Ankunftszeit vom System zugewiesen werden. Die Eingangszeit hat basierend auf den Eingabe Quellen eine andere Bedeutung. Bei Ereignissen aus Azure Service Bus Event Hub ist die Ankunftszeit der vom Event Hub angegebene Zeitstempel. für BLOB Storage ist dies der Zeitpunkt der letzten Änderung des BLOBs. Der Zeitstempel ist der Zeitpunkt, der für die Erfassung oder Analyse von Daten relevant ist. Wenn der Benutzer eine Anwendungszeit verwenden möchte, kann er dies mithilfe des timestamp by -Schlüssel Worts tun. Im vorangehenden Szenario entspricht dies der Ankunftszeit des Fahrzeugs an der Mautstelle. Es ist wichtig, den Zeitstempel im eingehenden Datenstrom zu identifizieren. Dabei sollte sichergestellt werden, dass durch die Zeiterfassung auch bestätigt wird, dass ein Ereignis stattgefunden hat. Wenn bei der Überwachung eines Kassenterminals z. B. auch die Anzahl der abgefertigten Kunden ermittelt werden soll, dann ist der Ereigniszeitstempel "Zahlung erfolgt" aussagefähiger als der Zeitpunkt der Bonerstellung.

TIMESTAMP BY

In Azure Stream Analytics sind alle Ereignisse mit einem klar definierten Zeitstempel gekennzeichnet. Wenn der Benutzer die Anwendungszeit verwenden möchte, kann er das Zeitstempel by-Schlüsselwort verwenden, um die Spalte in der Nutzlast anzugeben, die zum Zeitstempel jedes eingehenden Ereignisses verwendet werden soll, um beliebige Temporale Berechnungen wie Fenster, Joins usw. auszuführen. Es wird empfohlen, timestamp um die Ankunftszeit als bewährte Vorgehensweise zu verwenden. "Timestamp by" kann für jede Spalte vom Typ "DateTime" verwendet werden, und alle ISO 8601-Formate werden unterstützt. System. Timestamp () kann nur in Selectverwendet werden.

Im Folgenden finden Sie ein TIMESTAMP BY-Beispiel, das die EntryTime-Spalte als Anwendungszeit für Ereignisse verwendet:

  
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag   
FROM TollTagEntry TIMESTAMP BY EntryTime  
  

Unterscheidung nach Groß-/Kleinschreibung für Feldnamen

Feldnamen für einen Auftrag, der mit Kompatibilitäts Grad 1,0 erstellt wird, werden bei der Verarbeitung durch die Azure Stream Analytics-Engine in Kleinbuchstaben (ohne Beachtung der Groß-/Kleinschreibung) geändert. Bei Eingabe Formaten, die das Groß-/Kleinschreibung-Schema unterstützen (z. b. Json), können Sie Ereignisse erstellen, die doppelte Felder aufweisen, wenn Feldnamen in einer nicht sensiblen Weise verglichen werden. Solche Ereignisse werden als ungültige Ereignisse angesehen und während der Verarbeitung gelöscht.

Die Unterscheidung nach Groß-/Kleinschreibung wird für Feldnamen beibehalten, wenn der Stream Analytics Auftrag mit dem Kompatibilitäts Grad 1,1 oder höher erstellt wird. Weitere Informationen finden Sie im Thema Konfigurieren von Kompatibilitäts Grad .

In diesem Abschnitt

Anleitungen zur Verwendung der Stream Analytics-Abfragesprache finden Sie in den folgenden Themen.

Weitere Informationen