Teilen über


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.

    Screenshot, der die Seite „Daten generieren (Vorschau)“ einer Event Hub-Instanz zeigt.

  • Erstellen Sie eine Azure SQL-Datenbank. Beachten Sie beim Erstellen der Datenbank einige wichtige Punkte.

    1. 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.

    2. Führen Sie auf der Seite Netzwerk die folgenden Schritte aus:

      1. Aktivieren Sie Öffentlicher Endpunkt.
      2. Wählen Sie für Azure-Diensten und -Ressourcen den Zugriff auf diesen Server gestatten die Option Ja aus.
      3. Wählen Sie für die Option Aktuelle Client-IP-Adresse hinzufügenJa aus.
    3. Wählen Sie auf der Seite Zusätzliche EinstellungenKeine für Vorhandene Daten verwenden aus.

    4. Überspringen Sie im Artikel die Schritte in den Abschnitten Abfragen der Datenbank und Bereinigen von Ressourcen.

    5. 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.

  1. Navigieren Sie im Azure-Portal zur Seite Event Hubs-Instanz Ihres Event Hubs.

  2. 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.

    Screenshot der den Filter und die Erfassung auf der Karte ADLS Gen2 zeigt, wo Sie Start auswählen.

  3. 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.

    Screenshot der zeigt, wo Sie einen Jobnamen angeben.

  4. Überprüfen Sie im Event Hub-Fenster die Einstellungen für Serialisierung und Authentifizierungsmodus, und wählen Sie Verbinden aus.

    Screenshot: Event Hubs-Verbindungskonfiguration.

  5. 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.

      Screenshot: Event Hubs-Feldliste, in der Sie den Feldtyp entfernen, umbenennen oder ändern können

    • 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.

      Screenshot: Beispieldaten unter der Datenvorschau.

  6. 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.

    Screenshot: Konfiguration des Operators „Gruppieren nach“

  7. Sie können die Ergebnisse des Schritts im Abschnitt Datenvorschau überprüfen.

    Screenshot, der die Datenvorschau für die Gruppe nach Operator zeigt.

  8. 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 zu Value. 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.

    Screenshot: Operatorkonfiguration für „Felder verwalten“

  9. 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.

    Screenshot: Konfiguration der Ausgabe von SQL-Datenbank

  10. Im Bereich Datenvorschau wird die eine Vorschau der Daten angezeigt, die in der SQL-Datenbank erfasst werden.

    Screenshot: Option „Statische Vorschau abrufen/Statische Vorschau aktualisieren“

  11. Wählen Sie Speichern und anschließend Starten aus, um den Stream Analytics-Auftrag zu starten.

    Screenshot: Optionen zum Speichern und Starten

  12. 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.

      Screenshot: Optionen zum Starten des Stream Analytics-Auftrags, in denen Sie die Ausgabezeit ändern, die Anzahl von Streamingeinheiten festlegen und die Fehlerbehandlung für Ausgabedaten auswählen können

  13. 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.

    Screenshot: Auftragsmetriken nach dem Start

    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.

    Screenshot: Registerkarte „Stream Analytics-Aufträge“, auf der Sie den Status der ausgeführten Aufträge anzeigen

  14. 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.

  15. Ihnen sollten nun die in die Azure SQL-Datenbank eingefügten Datensätze angezeigt werden.

    Screenshot, der den Inhalt der Tabelle mit Bestandsdaten in der Datenbank zeigt.

Ü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.