Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Stream Analytics biedt een SQL-querytaal voor het uitvoeren van transformaties en berekeningen via stromen gebeurtenissen.
Een subset van T-SQL-syntaxis
In dit document worden de syntaxis, het gebruik en de aanbevolen procedures voor de Stream Analytics-querytaal beschreven. Alle voorbeelden die in dit document worden gebruikt, zijn afhankelijk van een tolhokjescenario, zoals hieronder wordt beschreven.
Stream Analytics-querytaal is een subset van de standaard T-SQL-syntaxis voor het uitvoeren van streamingberekeningen.
Het tolhuisscenario
Een tolstation is een gangbaar fenomeen – we komen ze tegen in veel expressways, bruggen en tunnels over de hele wereld. Elk tolstation heeft meerdere tolhokjes, die handmatig kunnen zijn , wat betekent dat u stopt met het betalen van de tol aan een attendant, of geautomatiseerd – waarbij een sensor die boven op de stand wordt geplaatst, een RFID-kaart scant die op de windscherm van uw voertuig wordt aangebracht wanneer u de tolcel passeert. Het is gemakkelijk om de passage van voertuigen door deze tolstations te visualiseren als een gebeurtenisstroom over welke interessante bewerkingen kunnen worden uitgevoerd.
Aankomsttijd versus toepassingstijd
In een tijdelijk systeem, zoals Azure Stream Analytics, is het essentieel om inzicht te hebben in de voortgang van de tijd. Elke gebeurtenis die door het systeem stroomt, wordt geleverd met een tijdstempel die toegankelijk is via System.Timestamp(). Met andere woorden, elke gebeurtenis in ons systeem geeft een bepaald tijdstip weer. Deze tijdstempel kan een toepassingstijd zijn die de gebruiker kan opgeven in de query of het systeem kan toewijzen op basis van de aankomsttijd. De aankomsttijd heeft verschillende betekenissen op basis van de invoerbronnen. Voor de gebeurtenissen van Azure Event Hub is de aankomsttijd de tijdstempel die door de Event Hub wordt gegeven; voor Blob Storage is het de laatste wijzigingstijd van de blob. De tijdstempel is het tijdstip dat relevant is voor het vastleggen of analyseren van gegevens. Als de gebruiker een toepassingstijd wil gebruiken, kan deze dit doen met behulp van het trefwoord TIMESTAMP BY . In het bovenstaande scenario is het de toegang van het voertuig tot het tolhokje. Het is essentieel om de 'tijdstempel' in de binnenkomende gegevensstroom te identificeren. U moet ervoor zorgen dat de vastgelegde tijd ook het optreden van een gebeurtenis bevestigt. Als er bijvoorbeeld cashtellers worden bewaakt en het aantal gefactureerde klanten wil tellen, moet de tijdstempel van de gebeurtenis in het ideale geval 'betaling geslaagd' zijn in plaats van 'gegenereerde' tijd.
TIJDSTEMPEL PER
In Azure Stream Analytics hebben alle gebeurtenissen een goed gedefinieerd tijdstempel. Als de gebruiker toepassingstijd wil gebruiken, kan deze het trefwoord TIMESTAMP BY gebruiken om de kolom in de nettolading op te geven die moet worden gebruikt voor het tijdstempel van elke binnenkomende gebeurtenis om tijdelijke berekeningen uit te voeren, zoals Windowing, Joins, enzovoort. We raden u aan TIMESTAMP BY te gebruiken voor de tijd van aankomst als best practice. TIMESTAMP BY kan worden gebruikt voor elke kolom van het type datum/tijd en alle ISO 8601-indelingen worden ondersteund. System.Timestamp() kan alleen worden gebruikt in Select.
Hier volgt een TIMESTAMP BY-voorbeeld waarin de kolom EntryTime wordt gebruikt als de toepassingstijd voor gebeurtenissen:
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag
FROM TollTagEntry TIMESTAMP BY EntryTime
Gevoeligheid voor hoofdlettergebruik voor veldnamen
Veldnamen voor een taak die wordt gemaakt met behulp van compatibiliteitsniveau 1.0, worden gewijzigd in kleine letters (niet hoofdlettergevoelig) wanneer ze worden verwerkt door de Azure Stream Analytics-engine. Voor invoerindelingen die ondersteuning bieden voor hoofdlettergevoelig schema, bijvoorbeeld JSON, kunt u gebeurtenissen samenstellen die dubbele velden bevatten wanneer veldnamen op een niet-hoofdlettergevoelige manier worden vergeleken. Dergelijke gebeurtenissen worden beschouwd als ongeldige gebeurtenissen en worden verwijderd tijdens de verwerking.
Hoofdlettergevoeligheid blijft behouden voor veldnamen wanneer de Stream Analytics-taak wordt gemaakt met behulp van compatibiliteitsniveau 1.1 of hoger. Raadpleeg het onderwerp compatibiliteitsniveau configureren voor meer informatie.
In deze sectie
Raadpleeg de volgende onderwerpen voor hulp bij het gebruik van de Stream Analytics-querytaal.