Freigeben über


Anleitung: Transformieren von Daten mithilfe von Datenfluss-Mapping

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, einer All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alles von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung ab. Erfahren Sie, wie Sie eine neue Testversion kostenlos starten können!

In diesem Tutorial erstellen Sie mithilfe der Azure Data Factory-Benutzeroberfläche eine Pipeline, mit der Daten aus einer Azure Data Lake Storage (ADLS) Gen2-Quelle in eine ADLS Gen2-Senke kopiert und mithilfe des Zuordnungsdatenflusses transformiert werden. Das Konfigurationsmuster in diesem Tutorial kann beim Transformieren von Daten mithilfe von Mapping Data Flow erweitert werden.

Dieses Tutorial ist allgemein für die Abbildung von Datenflüssen konzipiert. Datenflüsse sind sowohl in Azure Data Factory als auch in Synapse-Pipelines verfügbar. Wenn Sie noch nicht mit Datenflüssen in Azure Synapse-Pipelines arbeiten, folgen Sie dem Datenfluss mithilfe von Azure Synapse-Pipelines.

In diesem Tutorial führen Sie die folgenden Schritte aus:

  • Erstellen einer Data Factory
  • Erstellen einer Pipeline mit einer Datenflussaktivität
  • Erstellen eines Mapping-Datenflusses mit vier Transformationen
  • Ausführen eines Testlaufs für die Pipeline
  • Überwachen einer Datenflussaktivität

Voraussetzungen

  • Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Azure-Konto , bevor Sie beginnen.
  • Azure Data Lake Storage Gen2-Konto. Sie verwenden den ADLS-Speicher als Quelldatenspeicher und Senkendatenspeicher. Wenn Sie nicht über ein Speicherkonto verfügen, lesen Sie die Schritte zum Erstellen eines Azure-Speicherkontos .
  • Laden Sie MoviesDB.csv hier herunter. Zum Abrufen der Datei aus GitHub kopieren Sie den Inhalt in einen Text-Editor Ihrer Wahl, und speichern Sie ihn lokal als CSV-Datei. Laden Sie die Datei in Ihr Speicherkonto in einen Container mit dem Namen "Beispieldaten" hoch.

Erstellen einer Data Factory

In diesem Schritt erstellen Sie eine Data Factory und öffnen die Data Factory-Benutzeroberfläche, um eine Pipeline in der Data Factory zu erstellen.

  1. Öffnen Sie Microsoft Edge oder Google Chrome. Die Data Factory-Benutzeroberfläche wird derzeit nur in den Webbrowsern Microsoft Edge und Google Chrome unterstützt.

  2. Wählen Sie im oberen Menü die Option "Resource>Analytics>Data Factory erstellen" aus:

    Auswahl von Data Factory im Bereich "Neu"

  3. Geben Sie auf der Seite Neue Data Factory unter Name den Namen ADFTutorialDataFactory ein.

    Der Name der Azure-Datenfactory muss global eindeutig sein. Wenn eine Fehlermeldung zum Namenswert angezeigt wird, geben Sie einen anderen Namen für die Data Factory ein. Beispiel: „IhrNameADFTutorialDataFactory“. Benennungsregeln für Data Factory-Artefakte finden Sie unter Data Factory-Benennungsregeln.

    Neue Fehlermeldung zu doppelten Namen in Data Factory.

  4. Wählen Sie das Azure-Abonnement aus, in dem Sie die Datenfactory erstellen möchten.

  5. Führen Sie für die Ressourcengruppe eine der folgenden Schritte aus:

    1. Wählen Sie "Vorhandene Verwenden" aus, und wählen Sie eine vorhandene Ressourcengruppe aus der Dropdownliste aus.

    2. Wählen Sie "Neu erstellen" aus, und geben Sie den Namen einer Ressourcengruppe ein.

    Informationen zu Ressourcengruppen finden Sie unter Verwenden von Ressourcengruppen zum Verwalten Ihrer Azure-Ressourcen.

  6. Wählen Sie unter "Version" die Option "V2" aus.

  7. Wählen Sie unter Region einen Standort für die Data Factory aus. In der Dropdownliste werden nur unterstützte Standorte angezeigt. Datenspeicher (etwa Azure Storage und SQL-Datenbank) und Computeeinheiten (etwa Azure HDInsight), die von der Data Factory genutzt werden, können sich in anderen Regionen befinden.

  8. Wählen Sie "Überprüfen" und "Erstellen " und dann " Erstellen" aus.

  9. Nach Abschluss der Erstellung wird der Hinweis im Benachrichtigungscenter angezeigt. Wählen Sie „Gehe zu Ressource“ aus, um zur Seite der Datenfabrik zu gelangen.

  10. Wählen Sie "Studio starten" aus, um das Data Factory-Studio auf einer separaten Registerkarte zu starten.

Erstellen einer Pipeline mit einer Datenflussaktivität

In diesem Schritt erstellen Sie eine Pipeline, die eine Datenflussaktivität enthält.

  1. Wählen Sie auf der Startseite von Azure Data Factory " Orchestrate" aus.

    Screenshot der Azure Data Factory-Startseite.

  2. Jetzt ist ein Fenster für eine neue Pipeline geöffnet. Geben Sie auf der Registerkarte " Allgemein " für die Pipelineeigenschaften "TransformMovies " für den Namen der Pipeline ein.

  3. Erweitern Sie im Bereich Aktivitäten das Accordion-Element Verschieben und transformieren. Ziehen Sie die Datenfluss-Aktivität per Drag & Drop aus dem Fenster auf die Pipeline-Leinwand.

    Screenshot der Pipelinecanvas, auf der die Datenflussaktivität abgelegt werden kann

  4. Benennen Sie Ihre Datenflussaktivität DataFlow1.

  5. Ziehen Sie in der oberen Leiste des Pipeline-Canvass den Schieberegler " Datenfluss debuggen " ein. Der Debugmodus ermöglicht das interaktive Testen von Transformationslogik mit einem aktiven Spark-Cluster. Die Aufwärmphase von Datenflussclustern dauert 5 bis 7 Minuten. Den Benutzern wird empfohlen, zuerst den Debugmodus zu aktivieren, wenn sie die Entwicklung eines Datenflusses planen. Weitere Informationen finden Sie im Debugmodus.

    Screenshot der Option zum Aktivieren des Datenflussdebuggings.

Erstellen von Transformationslogik auf der Datenflusscanvas

In diesem Schritt erstellen Sie einen Datenfluss, der die moviesDB.csv im ADLS-Speicher nutzt, um die durchschnittliche Bewertung von Komödien aus den Jahren 1910 bis 2000 zu berechnen und zu aggregieren. Sie schreiben diese Datei dann wieder in den ADLS-Speicher.

  1. Wechseln Sie im Bereich unterhalb des Zeichenbereichs zu den Einstellungen Ihrer Datenflussaktivität, und wählen Sie "Neu" aus, das sich neben dem Datenflussfeld befindet. Dadurch wird der Datenflussbereich geöffnet.

    Screenshot, der zeigt, wie der Datenfluss-Editor aus dem Pipeline-Editor geöffnet wird.

  2. Benennen Sie im Eigenschaftenbereich unter "Allgemein" Den Datenfluss: TransformMovies.

  3. Fügen Sie im Datenflussbereich eine Quelle hinzu, indem Sie das Feld "Quelle hinzufügen " auswählen.

    Screenshot des Felds

  4. Benennen Sie Ihre Quelle MoviesDB. Wählen Sie "Neu" aus, um ein neues Quelldatenset zu erstellen.

    Screenshot, der zeigt, wo Sie

  5. Wählen Sie Azure Data Lake Storage Gen2 aus. Wählen Sie Weiter.

    Screenshot, der zeigt, wo sich die Kachel

  6. Wählen Sie "DelimitedText" aus. Wählen Sie Weiter.

    Der Screenshot zeigt die Kachel "DelimitedText".

  7. Benennen Sie Ihr Dataset MoviesDB. Wählen Sie im Dropdownmenü "Verknüpfter Dienst" die Option "Neu" aus.

    Screenshot der Dropdownliste „Verknüpfter Dienst“

  8. Benennen Sie im Bildschirm für die Erstellung des verknüpften Diensts adLS gen2 den verknüpften Dienst ADLSGen2 , und geben Sie die Authentifizierungsmethode an. Dann geben Sie Ihre Verbindungsanmeldeinformationen ein. In diesem Tutorial wird der Kontoschlüssel zum Herstellen einer Verbindung mit dem Speicherkonto verwendet. Sie können die Testverbindung auswählen, um zu überprüfen, ob Ihre Anmeldeinformationen richtig eingegeben wurden. Wählen Sie "Erstellen" aus, wenn Sie fertig sind.

    Screenshot des Bereichs zum Erstellen eines neuen verknüpften Diensts für Azure Data Lake Storage.

  9. Sobald Sie sich wieder auf dem Bildschirm zum Erstellen von Datensätzen befinden, geben Sie unter dem Feld "Dateipfad " den Speicherort ihrer Datei ein. In diesem Tutorial befindet sich die Datei „moviesDB.csv“ im Container „sample-data“. Wenn die Datei Überschriften enthält, überprüfen Sie die erste Zeile als Kopfzeile. Wählen Sie "Von Verbindung/Speicher " aus, um das Headerschema direkt aus der Datei im Speicher zu importieren. Wählen Sie "OK" aus, wenn Sie fertig sind.

    Screenshot des Bereichs zum Erstellen eines Datasets.

  10. Wenn Ihr Debugcluster gestartet wurde, wechseln Sie zur Registerkarte "Datenvorschau " der Quelltransformation, und wählen Sie "Aktualisieren" aus, um eine Momentaufnahme der Daten abzurufen. Mithilfe der Datenvorschau können Sie überprüfen, ob die Transformation ordnungsgemäß konfiguriert ist.

    Screenshot, der zeigt, wo Sie eine Vorschau Ihrer Daten anzeigen können, um zu überprüfen, ob die Transformation ordnungsgemäß konfiguriert ist.

  11. Wählen Sie auf der Datenflusscanvas neben dem Quellknoten das Pluszeichen aus, um eine neue Transformation hinzuzufügen. Die erste transformation, die Sie hinzufügen, ist ein Filter.

    Screenshot des Datenflussbereichs.

  12. Benennen Sie die Filtertransformation FilterYears. Wählen Sie das Ausdrucksfeld neben Filtern nach aus, und dann Ausdrucks-Generator öffnen. Hier geben Sie die Filterbedingung an.

    Screenshot des Ausdrucksfeld für „Filtern nach“

  13. Mit dem Datenfluss-Ausdrucks-Generator können Sie Ausdrücke interaktiv erstellen, die dann in verschiedenen Transformationen verwendet werden können. Ausdrücke können integrierte Funktionen, Spalten aus dem Eingabeschema und benutzerdefinierte Parameter enthalten. Weitere Informationen zum Erstellen von Ausdrücken finden Sie im Generator für Datenflussausdrücke.

    In diesem Tutorial möchten Sie Filme des Genres „Komödie“ filtern, die zwischen den Jahren 1910 und 2000 entstanden sind. Da die Jahresangabe derzeit eine Zeichenfolge ist, müssen Sie sie mithilfe der Funktion toInteger() in eine ganze Zahl konvertieren. Verwenden Sie die Operatoren für größer als oder gleich (>=) und kleiner als oder gleich (<=) für einen Vergleich mit den Literalwerten für die Jahre 1910 und 2000. Verbinden Sie diese Ausdrücke mit dem Und-Operator (&&). Der Ausdruck sieht wie folgt aus:

    toInteger(year) >= 1910 && toInteger(year) <= 2000

    Um zu ermitteln, welche Filme Komödien sind, können Sie mithilfe der Funktion rlike() nach dem Muster „Comedy“ in der Spalte „genres“ suchen. Vereinigen Sie den Ausdruck rlike mit dem Jahresvergleich, um Folgendes zu erhalten:

    toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')

    Wenn Ein Debugcluster aktiv ist, können Sie Ihre Logik überprüfen, indem Sie "Aktualisieren" auswählen, um die Ausdrucksausgabe im Vergleich zu den verwendeten Eingaben anzuzeigen. Es gibt mehr als eine richtige Antwort darauf, wie Sie diese Logik mithilfe der Ausdruckssprache für Datenflüsse erzielen können.

    Screenshot des Filterausdruck-Generators.

    Wählen Sie "Speichern" und "Fertig stellen " aus, nachdem Sie den Ausdruck abgeschlossen haben.

  14. Abrufen einer Datenvorschau , um sicherzustellen, dass der Filter ordnungsgemäß funktioniert.

    Screenshot der abgerufenen Datenvorschau.

  15. Die nächste Transformation, die Sie hinzufügen, ist eine Aggregattransformation unter Schemamodifizierer.

    Screenshot des Aggregatschemamodifizierers.

  16. Benennen Sie die Aggregattransformation "AggregateComedyRatings". Wählen Sie auf der Registerkarte Gruppieren nach im Dropdown-Menü Jahr aus, um die Aggregationen nach dem Jahr zu gruppieren, in dem der Film herauskam.

    Screenshot der Option „year“ auf der Registerkarte „Gruppieren nach“ unter „Aggregateinstellungen“

  17. Wechseln Sie zur Registerkarte "Aggregat" . Benennen Sie im linken Textfeld die Aggregatspalte AverageComedyRating. Wählen Sie das rechte Ausdrucksfeld aus, um den Aggregatausdruck über den Ausdrucks-Generator einzugeben.

    Screenshot der Option

  18. Verwenden Sie die Aggregatfunktion , um den Durchschnitt der Spalte avg() zu erhalten. Da "Bewertung" eine Zeichenfolge ist und avg() eine numerische Eingabe einnimmt, müssen wir den Wert über die toInteger() Funktion in eine Zahl konvertieren. Dieser Ausdruck sieht wie folgt aus:

    avg(toInteger(Rating))

    Wählen Sie "Speichern" und "Fertig stellen " aus, wenn Sie fertig sind.

    Screenshot des gespeicherten Ausdrucks

  19. Wechseln Sie zur Registerkarte "Datenvorschau ", um die Transformationsausgabe anzuzeigen. Beachten Sie, dass nur zwei Spalten vorhanden sind, Jahr und AverageComedyRating.

    Screenshot der aggregierten Vorschau.

  20. Als Nächstes möchten Sie eine Sinktransformation unter "Ziel" hinzufügen.

    Screenshot des Fensters, in dem eine Senkentransformation unter „Ziel“ hinzugefügt wird

  21. Benennen Sie Ihre Spüle Sink. Wählen Sie Neu aus, um das Senkendataset zu erstellen.

    Screenshot, der zeigt, wo Sie Ihre Spüle benennen und ein neues Sink-Dataset erstellen können.

  22. Wählen Sie Azure Data Lake Storage Gen2 aus. Wählen Sie Weiter.

    Screenshot der auswählbaren Kachel „Azure Data Lake Storage Gen2“

  23. Wählen Sie "DelimitedText" aus. Wählen Sie Weiter.

    Screenshot des Bereichs zum Auswählen eines Datasettyps.

  24. Geben Sie dem Senkendataset den Namen MoviesSink. Wählen Sie als verknüpften Dienst den verknüpften ADLS Gen2-Dienst aus, den Sie in Schritt 6 erstellt haben. Geben Sie einen Ausgabeordner ein, in den die Daten geschrieben werden sollen. In diesem Tutorial wird in den Ordner „output“ im Container „sample-data“ geschrieben. Der Ordner muss nicht vorab vorhanden sein und kann dynamisch erstellt werden. Setzen Sie die erste Zeile als Kopfzeile auf "true" und wählen Sie "Keine" für das Importschema aus. Wählen Sie Fertig stellenaus.

    Screenshot der Seite „Senkenerstellung“, auf der die erste Zeile als Kopfzeile ausgewählt ist.

Sie haben nun die Erstellung des Datenflusses beendet. Jetzt können Sie ihn in ihrer Pipeline ausführen.

Ausführen und Überwachen des Datenflusses

Sie können eine Pipeline vor der Veröffentlichung debuggen. In diesem Schritt lösen Sie eine Debugausführung der Datenflusspipeline aus. Bei der Datenvorschau werden keine Daten geschrieben, bei einer Debugausführung werden jedoch Daten in das Senkenziel geschrieben.

  1. Wechseln Sie zur Pipelinecanvas. Wählen Sie "Debuggen" aus, um eine Debugausführung auszulösen.

    Screenshot der Pipelinecanvas mit hervorgehobener Option „Debuggen“

  2. Für das Debuggen der Pipeline von Datenflussaktivitäten wird der aktive Debugcluster verwendet, doch dauert die Initialisierung dennoch mindestens eine Minute. Sie können den Fortschritt über die Registerkarte "Ausgabe" nachverfolgen. Sobald die Ausführung erfolgreich ist, bewegen Sie den Mauszeiger über die Ausführung und wählen Sie das Brillensymbol, um den Überwachungsbereich zu öffnen.

    Screenshot des Status der vollständigen Pipeline, wobei die Ausgabeaktionen hervorgehoben sind.

  3. Wählen Sie im Überwachungsbereich die Schaltfläche "Phasen " aus, um die Anzahl der Zeilen und die für jeden Transformationsschritt aufgewendete Zeit anzuzeigen.

    Screenshot des Überwachungsbereichs mit hervorgehobener Schaltfläche

    Screenshot des Überwachungsbereichs, in dem Sie die Anzahl der Zeilen und die für jeden Transformationsschritt aufgewendete Zeit sehen können.

  4. Wählen Sie eine Transformation aus, um ausführliche Informationen über die Spalten und Partitionierung der Daten zu erhalten.

    Screenshot des Überwachungstransformationsbereichs.

Wenn Sie dieses Tutorial richtig durchgeführt haben, sollten 83 Zeilen und 2 Spalten in den Senkenordner geschrieben worden sein. Sie können sich von der Richtigkeit der Daten überzeugen, indem Sie den Blobspeicher überprüfen.

Mit der Pipeline in diesem Tutorial wird ein Datenfluss ausgeführt, der die durchschnittliche Bewertung von Komödien zwischen 1910 und 2000 aggregiert und die Daten in ADLS schreibt. Sie haben Folgendes gelernt:

  • Erstellen einer Data Factory
  • Erstellen einer Pipeline mit einer Datenflussaktivität
  • Erstellen eines Mapping-Datenflusses mit vier Transformationen
  • Ausführen eines Testlaufs für die Pipeline
  • Überwachen einer Datenflussaktivität

Erfahren Sie mehr über die Sprache des Datenflussausdrucks.