Transformieren und Speichern von Daten in einer Azure SQL-Datenbank mithilfe des No-Code-Editors von Azure Stream Analytics
In diesem Artikel wird beschrieben, wie Sie den No-Code-Editor verwenden können, um ganz einfach einen Stream Analytics-Auftrag zu erstellen, der kontinuierlich Daten aus einer Event Hubs-Instanz (Event Hub) liest, die Daten transformiert und die Ergebnisse dann in eine Azure SQL-Datenbank schreibt.
Voraussetzungen
Ihre Azure Event Hubs- und Azure SQL-Datenbankressourcen müssen öffentlich zugänglich sein und dürfen sich nicht hinter einer Firewall befinden oder in einem Azure Virtual Network gesichert sein. Die Daten in Ihrer Event Hubs-Instanz müssen entweder im JSON-, CSV- oder Avro-Format serialisiert werden.
Wenn Sie die Schritte in diesem Artikel ausprobieren möchten, führen Sie die folgenden Schritte aus.
Erstellen Sie einen Event Hub, falls Sie noch keinen besitzen. Generieren Sie Daten im Event Hub. Wählen Sie auf der Seite Event Hubs-Instanz im linken Menü Daten generieren (Vorschau) aus. Wählen Sie für das DatasetBestandsdaten und dann Senden aus, um einige Beispieldaten an den Event Hub zu senden. Dieser Schritt ist erforderlich, wenn Sie die Schritte in diesem Artikel testen möchten.
Erstellen Sie eine Azure SQL-Datenbank. Beachten Sie beim Erstellen der Datenbank einige wichtige Punkte.
Wählen Sie auf der Seite Grundlagen für den Server die Option Neu erstellen aus. Wählen Sie dann auf der Seite SQL-Datenbank-Server erstellen die Option SQL-Authentifizierung verwenden aus, und geben Sie die Administratorbenutzer-ID und das Kennwort an.
Führen Sie auf der Seite Netzwerk die folgenden Schritte aus:
- Aktivieren Sie Öffentlicher Endpunkt.
- Wählen Sie für Azure-Diensten und -Ressourcen den Zugriff auf diesen Server gestatten die Option Ja aus.
- Wählen Sie für die Option Aktuelle Client-IP-Adresse hinzufügenJa aus.
Wählen Sie auf der Seite Zusätzliche EinstellungenKeine für Vorhandene Daten verwenden aus.
Überspringen Sie im Artikel die Schritte in den Abschnitten Abfragen der Datenbank und Bereinigen von Ressourcen.
Wenn Sie Schritte testen möchten, erstellen Sie mithilfe des Abfrage-Editors (Vorschau) eine Tabelle in der SQL-Datenbank.
create table stocks ( symbol varchar(4), price decimal )
Verwenden des No-Code-Editors zum Erstellen eines Stream Analytics-Auftrags
In diesem Abschnitt erstellen Sie mithilfe des No-Code-Editors einen Azure Stream Analytics-Auftrag. Der Auftrag transformiert Daten, die aus einer Event Hub-Instanz (Event Hub) gestreamt werden, und speichert die Ergebnisdaten in einer Azure SQL-Datenbank.
Navigieren Sie im Azure-Portal zur Seite Event Hubs-Instanz Ihres Event Hubs.
Wählen Sie im linken Menü Features>Daten verarbeiten und dann auf der Karte Transformieren und Speichern von Daten in einer SQL-Datenbank die Option Starten aus.
Geben Sie einen Namen für den Stream Analytics-Auftrag ein, und wählen Sie dann Erstellen aus. Auf der rechten Seite wird Ihnen das Stream Analytics-Auftragsdiagramm mit dem Event Hubs-Fenster angezeigt.
Überprüfen Sie im Event Hub-Fenster die Einstellungen für Serialisierung und Authentifizierungsmodus, und wählen Sie Verbinden aus.
Wenn die Verbindung erfolgreich eingerichtet wurde und Daten in Ihrer Event Hub-Instanz eingehen, werden zwei Dinge angezeigt:
Felder, die in den Eingabedaten vorhanden sind. Sie können Feld hinzufügen oder das Symbol mit den drei Punkten neben einem Feld auswählen, um den Typ zu entfernen, umzubenennen oder zu ändern.
Ein Livebeispiel für eingehende Daten in der Tabelle Datenvorschau unter der Diagrammansicht. Es wird in regelmäßigen Abständen automatisch aktualisiert. Sie können Streamingvorschau anhalten auswählen, um eine statische Ansicht der Beispieleingabedaten anzuzeigen.
Wählen Sie die Kachel Gruppieren nach aus, um die Daten zu aggregieren. Im Konfigurationsbereich Gruppieren nach können Sie das Feld, nach dem Sie gruppieren möchten, zusammen mit dem Zeitfenster angeben.
Im folgenden Beispiel werden der Mittelwert des Preises und des Symbols verwendet.
Sie können die Ergebnisse des Schritts im Abschnitt Datenvorschau überprüfen.
Wählen Sie die Kachel Felder verwalten aus. Wählen Sie im Konfigurationsbereich Felder verwalten die Felder aus, die Sie ausgeben möchten, indem Sie Feld Hinzufügen –>Importiertes Schemafeld –> auswählen.
Wenn Sie alle Felder hinzufügen möchten, wählen Sie Alle Felder hinzufügen aus. Beim Hinzufügen eines Felds können Sie einen anderen Namen für die Ausgabe angeben. Beispiel:
AVG_Value
wird zuValue
. Nachdem Sie die Auswahl gespeichert haben, werden Daten im Bereich Datenvorschau angezeigt.Im folgenden Beispiel sind Symbol und AVG_Value ausgewählt. Symbol wird dem Symbol zugeordnet, AVG_Value dem Preis.
Wählen Sie Kachel SQL aus. Füllen Sie im Konfigurationsbereich SQL-Datenbank die erforderlichen Parameter aus, und stellen Sie eine Verbindung her. Wählen Sie Vorhandene Tabelle laden aus, damit die Tabelle automatisch ausgewählt wird. Im folgenden Beispiel wird „
[dbo].[stocks]
“ ausgewählt. Wählen Sie dann Verbinden aus.Hinweis
Das Schema der ausgewählten Tabelle muss exakt mit der Anzahl der Felder und ihren Typen übereinstimmen, die Ihre Datenvorschau generiert.
Im Bereich Datenvorschau wird die eine Vorschau der Daten angezeigt, die in der SQL-Datenbank erfasst werden.
Wählen Sie Speichern und anschließend Starten aus, um den Stream Analytics-Auftrag zu starten.
Geben Sie Folgendes an, um den Auftrag zu starten:
Die Anzahl der Streamingeinheiten (SU), mit denen der Auftrag ausgeführt wird. Streamingeinheiten stellen die Menge an Computeressourcen und den Arbeitsspeicher dar, die dem Auftrag zugeordnet sind. Es wird empfohlen, mit drei zu beginnen und die Anzahl dann nach Bedarf anzupassen.
Die Fehlerbehandlung für Ausgabedaten ermöglicht es Ihnen, das gewünschte Verhalten anzugeben, wenn die Ausgabe eines Auftrags an Ihr Ziel aufgrund von Datenfehlern fehlschlägt. Der Auftrag wird standardmäßig wiederholt, bis der Schreibvorgang erfolgreich ist. Sie können auch festlegen, dass solche Ausgabeereignisse gelöscht werden.
Nach der Auswahl von Starten wird die Auftragsausführung innerhalb von zwei Minuten gestartet. Der Bereich Metriken wird im unteren Bereich angezeigt. Es dauert einige Zeit, bis dieser Bereich aktualisiert worden ist. Wählen Sie in der rechten oberen Ecke des Bereichs Aktualisieren aus, um das Diagramm zu aktualisieren. Fahren Sie mit dem nächsten Schritt auf einer separaten Registerkarte oder in einem separaten Fenster des Webbrowsers fort.
Sie können den Auftrag auch auf der Registerkarte Stream Analytics-Aufträge im Abschnitt „Daten verarbeiten“ anzeigen. Wählen Sie Metriken öffnen aus, um ihn zu überwachen oder bei Bedarf zu beenden und neu zu starten.
Navigieren Sie im Portal in einem separaten Browserfenster oder auf einer separaten Registerkarte zu Ihrem Event Hub, und senden Sie die Beispieldaten erneut (wie in den Voraussetzungen erläutert). Wählen Sie auf der Seite Event Hubs-Instanz im linken Menü Daten generieren (Vorschau) aus. Wählen Sie für das DatasetBestandsdaten und dann Senden aus, um einige Beispieldaten an den Event Hub zu senden. Es kann einige Minuten dauern, bis der Bereich Metriken aktualisiert wird.
Ihnen sollten nun die in die Azure SQL-Datenbank eingefügten Datensätze angezeigt werden.
Überlegungen bei der Verwendung des Georeplikationsfeatures von Event Hubs
Für Azure Event Hubs wurde kürzlich das Feature Georeplikation in der Public Preview eingeführt. Dieses Feature unterscheidet sich vom Feature Georedundante Notfallwiederherstellung von Azure Event Hubs.
Wenn der Failovertyp Erzwungen und die Replikationskonsistenz Asynchron ist, garantiert der Stream Analytics-Auftrag nicht, dass genau eine Ausgabe in Azure Event Hubs erfolgt.
Als Producer mit einem Event Hub als Ausgabe kann in Azure Stream Analytics eine Wasserzeichenverzögerung für den Auftrag während eines Failovers und während der Drosselung durch Event Hubs auftreten, falls die Replikationsverzögerung zwischen dem primären und dem sekundären Replikat die maximale konfigurierte Verzögerung erreicht.
Als Consumer mit Event Hubs als Eingabe kann in Azure Stream Analytics während eines Failovers eine Wasserzeichenverzögerung auftreten, und es können nach dem Abschluss des Failovers Daten übersprungen werden oder doppelte Daten auftreten.
Aufgrund dieser Nachteile empfehlen wir, den Stream Analytics-Auftrag mit entsprechender Startzeit direkt nach Abschluss des Event Hubs-Failovers neu zu starten. Da sich das Georeplikationsfeature von Event Hubs zudem in der Public Preview befindet, wird derzeit nicht empfohlen, dieses Muster für Stream Analytics-Aufträge in der Produktion zu verwenden. Das aktuelle Stream Analytics-Verhalten wird verbessert, bevor das Event Hubs-Georeplikationsfeature allgemein verfügbar ist und in Stream Analytics-Produktionsaufträgen verwendet werden kann.
Nächste Schritte
Erfahren Sie mehr über Azure Stream Analytics und darüber, wie Sie den von Ihnen erstellten Auftrag überwachen.