Freigeben über


Modul 2: Transformieren von Daten mit einem Dataflow in Data Factory

Dieses Modul benötigt etwa 25 Minuten, um einen Dataflow zu erstellen, Transformationen anzuwenden und die Rohdaten aus der Bronze-Tabelle in eine Lakehouse-Gold-Tabelle zu verschieben.

Da die Rohdaten aus dem letzten Modul in Ihre Bronze-Lakehouse-Tabelle geladen wurden, können Sie diese Daten jetzt vorbereiten und anreichern, indem Sie sie mit einer anderen Tabelle kombinieren, die Rabatte für jeden Anbieter und seine Reisen an einem bestimmten Tag enthält. Diese finale Lakehouse-Gold-Tabelle wird geladen und kann verwendet werden.

Die allgemeinen Schritte in diesem Dataflow sind wie folgt:

  • Abrufen von Rohdaten aus der Lakehouse-Tabelle, die von der Copy-Aktivität in Modul 1: Erstellen einer Pipeline mit Data Factory erstellt wurde.
  • Transformieren der aus der Lakehouse-Tabelle importierten Daten.
  • Herstellen einer Verbindung mit einer CSV-Datei, die Rabattdaten enthält.
  • Transformieren der Rabattdaten.
  • Kombinieren von Fahrten und Rabattdaten.
  • Laden der Ausgabeabfrage in die Lakehouse-Gold-Tabelle.

Abrufen von Daten aus einer Lakehouse-Tabelle

  1. Wählen Sie in der Randleiste Erstellen und dann Dataflow Gen2 aus, um einen neuen Dataflow gen2 zu erstellen. Screenshot showing the Fabric Create page with the Dataflow Gen2 button highlighted.

  2. Wählen Sie im neuen Datenflowmenü die Option Daten abrufen und dann Mehr... aus.

    Screenshot showing the Dataflow menu with Get data button highlighted and the More... option highlighted from its menu.

  3. Suchen Sie nach dem Connector Lakehouse, und wählen Sie ihn aus.

    Screenshot showing the selection of the Lakehouse data source from the Choose data source menu.

  4. Das Dialogfeld Mit Datenquelle verbinden wird angezeigt. Basierend auf dem aktuell angemeldeten Benutzer wird automatisch eine neue Verbindung für Sie erstellt. Wählen Sie Weiter aus.

    Screenshot showing the configuration of the data source settings for your new Lakehouse with your current signed in user, and the Next button selected.

  5. Das Dialogfeld Daten auswählen wird angezeigt. Verwenden Sie den Navigationsbereich, um das Lakehouse zu finden, das Sie im vorherigen Modul für das Ziel erstellt haben, und wählen Sie die Datentabelle Tutorial_Lakehouse aus.

    Screenshot showing the Lakehouse browser with the workspace, lakehouse, and table created with the Copy activity in module 1.

  6. (Optional) Nachdem Ihr Canvas mit den Daten aufgefüllt wurde, können Sie Informationen für das Spaltenprofil festlegen, da dies für die Datenprofilerstellung nützlich ist. Sie können die richtige Transformation anwenden und basierend darauf die richtigen Datenwerte festlegen.

    Wählen Sie dazu im Menüband Optionen aus. Wählen Sie dann die ersten drei Optionen unter Spaltenprofil und dann OK aus.

    Screenshot showing the column options selection for your data.

Transformieren der aus Lakehouse importierten Daten.

  1. Wählen Sie das Datentypsymbol in der Spaltenüberschrift der zweiten Spalte IpepPickupDatetime aus, um ein Dropdownmenü anzuzeigen. Wählen Sie im Menü den Datentyp aus, um den Typ der Spalte von Datum/Uhrzeit in Datum zu ändern. Screenshot showing the selection of the Date data type for the IpepPickupDatetime column.

  2. (Optional) Wählen Sie auf der Registerkarte Start des Menübands aus der Gruppe Spalten verwalten die Option Spalten auswählen aus.

    Screenshot showing the Choose columns button on the Home tab of the dataflow editor.

  3. (Optional) Wählen Sie im Dialogfeld Spalten auswählen einige der hier aufgeführten Spalten ab, und klicken Sie dann auf OK.

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • pickupLatitude
    • dropoffLongitude
    • rateCodeID

    Screenshot showing the Choose columns dialog with the identified columns deselected.

  4. Wählen Sie den Spaltenfilter storeAndFwdFlag aus und sortieren Sie das Dropdownmenü. (Wenn die Warnung Die Liste kann unvollständig sein angezeigt wird, wählen Sie Weitere Daten laden aus, um alle Daten anzuzeigen).

    Screenshot showing the filter and sort dialog for the column.

  5. Wählen Sie „Y“ aus, um nur Zeilen anzuzeigen, in denen ein Rabatt angewendet wurde, und klicken Sie dann auf OK.

    Screenshot showing the values filter with only 'Y' selected.

  6. Wählen Sie die Spaltensortierung IpepPickupDatetime aus und filtern Sie das Dropdownmenü. Wählen Sie dann Datumsfilter aus und dann den Filter Zwischen..., der für die Typen Datum und Datum/Uhrzeit bereitgestellt wird.

    Screenshot showing the selection of the Date filters option in the column sort and format dropdown.

  7. Wählen Sie im Dialogfeld Zeilen filtern Datumsangaben zwischen dem 1. Januar 2015 und dem 31. Januar 2015 aus, und wählen Sie dann OK aus.

    Screenshot showing the selection of the dates in January 2015.

Herstellen einer Verbindung mit einer CSV-Datei, die Rabattdaten enthält.

Nachdem nun die Daten aus den Fahrten vorhanden sind, möchten wir die Daten laden, die die entsprechenden Rabatte für jeden Tag und jede VendorID enthalten, und die Daten vorbereiten, bevor wir sie mit den Fahrtdaten kombinieren.

  1. Wählen Sie auf der Registerkarte Start im Menü des Dataflow-Editors die Option Daten abrufen und dann Text/CSV aus.

    Screenshot showing the selection of the Get data menu from the Home tab, with Text/CSV highlighted.

  2. Geben Sie im Dialogfeld Mit Datenquelle verbinden die folgenden Details an:

    • Dateipfad oder URL - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • Authentifizierungsart – Anonym

    Wählen Sie Weiteraus.

    Screenshot showing the Text/CSV settings for the connection.

  3. Wählen Sie im Dialogfeld Vorschau der Dateidaten anzeigen die Option Erstellen aus.

    Screenshot showing the Preview file data dialog with the Create button highlighted.

Transformieren der Rabattdaten

  1. Beim Überprüfen der Daten sehen wir, dass sich die Kopfzeilen in der ersten Zeile befinden. Stufen Sie die ersten Zeilen zu Kopfzeilen herauf, indem Sie oben links im Vorschauraster das Kontextmenü der Tabelle auswählen, um die Option Erste Zeile als Überschriften verwenden auszuwählen.

    Screenshot showing the selection of the Use first row as headers option from the table context menu.

    Hinweis

    Nach dem Heraufstufen der Kopfzeilen wird im Bereich Angewendete Schritte oben im Dataflow-Editor ein neuer Schritt für die Datentypen Ihrer Spalten hinzugefügt.

  2. Klicken Sie mit der rechten Maustaste auf die Spalte VendorID und wählen Sie im angezeigten Kontextmenü die Option Andere Spalten entpivotieren aus. So können Sie Spalten in Attribut-Wert-Paare transformieren, bei denen Spalten zu Zeilen werden.

    Screenshot showing the context menu for the VendorID column with the Unpivot other columns selection highlighted.

  3. Wenn die Tabelle entpivotiert ist, benennen Sie die Spalten Attribut und Wert um, indem Sie einen Doppelklick darauf ausführen und Attribut in Datum und Wert in Rabatt ändern.

    Screenshot showing the table columns after renaming Attribute to Date and Value to Discount.

  4. Ändern Sie den Datentyp der Spalte Datum, indem Sie das Datentypmenü links neben dem Spaltennamen auswählen und auf Datum klicken.

    Screenshot showing the selection of the Date data type for the Date column.

  5. Wählen Sie die Spalte Rabatt aus und dann im Menü die Registerkarte Transformieren. Wählen Sie Zahlenspalte aus und dann im Untermenü die Option Standard für numerische Transformationen. Wählen Sie dann Dividieren aus.

    Screenshot showing the selection of the Divide option to transform data in the Discount column.

  6. Geben Sie im Dialogfeld Dividieren den Wert 100 ein.

    Screenshot showing the Divide dialog with the value 100 entered and the OK button highlighted.

Kombinieren von Fahrten und Rabattdaten

Der nächste Schritt besteht darin, beide Tabellen in einer einzelnen Tabelle zu kombinieren, die über den Rabatt verfügt, der auf die Reise angewendet werden soll, und die angepasste Summe.

  1. Schalten Sie zunächst die Schaltfläche Diagrammansicht um, damit Sie beide Abfragen sehen können.

    Screenshot showing the Diagram view toggle button with both queries created in this tutorial displayed.

  2. Wählen Sie die Abfrage nyc_taxi aus. Wählen Sie dann auf der Registerkarte Start das Menü Kombinieren aus. Wählen Sie danach Abfragen zusammenführen und dann Abfragen als neue Abfrage zusammenführen aus.

    Screenshot showing the Merge queries as new selection for the nyc_taxi query.

  3. Wählen Sie im Dialogfeld Zusammenführen die Option Generated-NYC-Taxi-Green-Discounts aus der Dropdownliste Rechte Tabelle für Zusammenführung aus. Wählen Sie dann die Glühbirne oben rechts im Dialogfeld aus, um das vorgeschlagene Mapping von Spalten zwischen den beiden Tabellen anzuzeigen.

    Screenshot showing the configuration of the Merge dialog with suggested column mappings displayed.

    Wählen Sie die beiden vorgeschlagenen Spaltenzuordnungen einzeln aus, und ordnen Sie die Spalten VendorID und Datum aus beiden Tabellen zu. Wenn beide Mappings hinzugefügt wurden, werden die entsprechenden Spaltenüberschriften in jeder Tabelle hervorgehoben.

  4. Es wird eine Meldung angezeigt, in der Sie aufgefordert werden, die Kombination von Daten aus mehreren Datenquellen zuzulassen, um die Ergebnisse anzuzeigen. Klicken Sie im Dialogfeld Zusammenführen auf OK.

    Screenshot showing the request to approve combining data from multiple data sources, with the OK button highlighted.

  5. Im Tabellenbereich sehen Sie zunächst eine Warnung: „Die Auswertung wurde abgebrochen, weil das Kombinieren von Daten aus mehreren Quellen dazu führen kann, dass Daten zwischen den Quellen offengelegt werden. Klicken Sie auf „Weiter“, wenn die Möglichkeit des Offenlegens von Daten kein Problem darstellt.“ Wählen Sie Weiter aus, um die kombinierten Daten anzuzeigen.

    Screenshot showing the warning about combining data from multiple data sources with the Continue button highlighted.

  6. Beachten Sie, dass eine neue Abfrage in der Diagrammansicht erstellt wurde, die die Beziehung der neuen Merge-Abfrage und den beiden zuvor erstellten Abfragen anzeigt. Scrollen Sie im Tabellenbereich des Editors nach rechts neben der Spaltenliste Merge-Abfrage. Dort sehen Sie, dass eine neue Spalte mit Tabellenwerten vorhanden ist. Dies ist die Spalte „Generierte NYC Taxi-Green-Discounts“ mit dem Typ [Tabelle]. In der Spaltenüberschrift befindet sich ein Symbol mit zwei Pfeilen, die in entgegengesetzte Richtungen zeigen, mit dem Sie Spalten aus der Tabelle auswählen können. Deaktivieren Sie alle Spalten mit Ausnahme von Rabatt, und wählen Sie dann OK aus.

    Screenshot showing the merged query with the column selection menu displayed for the newly generated column Generated-NYC-Taxi-Green-Discounts.

  7. Da der Rabattwert nun auf Zeilenebene vorliegt, können wir eine neue Spalte erstellen, um den Gesamtbetrag nach dem Rabatt zu berechnen. Wählen Sie dazu oben im Editor die Registerkarte Spalte hinzufügen aus. Wählen Sie dann in der Gruppe Allgemein die Option Benutzerdefinierte Spalte aus.

    Screenshot showing the Add custom column button highlighted on the General section of the Add column tab.

  8. Im Dialogfeld Benutzerdefinierte Spalte können Sie die Power Query Formelsprache (auch als M bezeichnet) verwenden, um zu definieren, wie Ihre neue Spalte berechnet werden soll. Geben Sie TotalAfterDiscount bei Neuer Spaltenname ein. Wählen Sie dann Währung für den Datentyp aus, und geben Sie den folgenden M-Ausdruck für die Benutzerdefinierte Spaltenformel an:

    if [totalAmount] > 0 dann [totalAmount] * ( 1 -[Discount] ) else [totalAmount]

    Klicken Sie anschließend auf OK.

    Screenshot showing the Custom column configuration screen with the New column name, Data type and Custom column formula highlighted.

  9. Wählen Sie die neu erstellte Spalte TotalAfterDiscount aus. Wählen Sie dann oben im Editorfenster die Registerkarte Transformieren aus. Wählen Sie in der Gruppe Zahlenspalte die Dropdownliste Runden aus, und wählen Sie dann Runden... aus.

    Screenshot showing the Round... option on the Transform tab of the editor window.

  10. Geben Sie im Dialogfeld Runden als Anzahl der Dezimalstellen den Wert 2 ein, und wählen Sie dann OK aus.

    Screenshot showing the Round dialog with 2 for the number of decimal places and the OK button highlighted.

  11. Ändern Sie den Datentyp von IpepPickupDatetime von Datum in Datum/Uhrzeit.

    Screenshot showing the selection of the Date/Time data type for the IpepPickupDatetime column.

  12. Erweitern Sie schließlich den Bereich Abfrageeinstellungen auf der rechten Seite des Editors, falls er noch nicht erweitert wurde, und benennen Sie die Abfrage von Zusammenführen in Ausgabe um.

    Screenshot showing the renaming of the query from Merge to Output.

Laden der Ausgabeabfrage in eine Tabelle in Lakehouse

Wenn die Ausgabeabfrage vollständig vorbereitet ist und Daten zur Ausgabe bereitstehen, können wir das Ausgabeziel für die Abfrage definieren.

  1. Wählen Sie die zuvor erstellte Merge-Abfrage Ausgabe aus, die Sie zuvor erstellt haben. Wählen Sie dann die Registerkarte Start im Editor und dann die Option Datenziel hinzufügen aus der Gruppierung Abfrage aus, um ein Lakehouse-Ziel auszuwählen.

    Screenshot showing the Add data destination button with Lakehouse highlighted.

  2. Im Dialogfeld Herstellen einer Verbindung mit dem Datenziel sollte Ihre Verbindung bereits ausgewählt sein. Wählen Sie Weiter aus, um fortzufahren.

  3. Navigieren Sie im Dialogfeld Zielort auswählen zu dem Lakehouse, in das Sie die Daten laden möchten. Vergeben Sie den Namen nyc_taxi_with_discounts für die neue Tabelle und wählen Sie dann erneut Weiter aus.

    Screenshot showing the Choose destination target dialog with Table name nyc_taxi_with_discounts.

  4. Behalten Sie im Dialogfeld Zieleinstellungen auswählen die Standard-Aktualisierungsmethode Replace bei. Stellen Sie sicher, dass Ihre Spalten ordnungsgemäß zugeordnet sind, und wählen Sie Einstellungen speichern aus.

    Screenshot showing the Choose destination settings dialog with the Save settings button highlighted.

  5. Vergewissern Sie sich im Hauptfenster des Editors, dass Ihr Ausgabeziel im Bereich Abfrageeinstellungen für die Tabelle Ausgabe angezeigt wird, und wählen Sie dann Veröffentlichen aus.

    Wichtig

    Bei der ersten Dataflow Gen2-Erstellung in einem Arbeitsbereich werden Lakehouse- und Warehouse-Elemente zusammen mit den zugehörigen SQL-Analyseendpunkten und semantischen Modellen bereitgestellt. Diese Elemente werden von allen Dataflows im Arbeitsbereich gemeinsam verwendet und sind für Dataflow Gen2 erforderlich. Sie sollten nicht gelöscht und nicht direkt von Benutzern verwendet werden. Die Elemente sind ein Implementierungsdetail von Dataflow Gen2. Die Elemente sind im Arbeitsbereich nicht sichtbar, können aber in anderen Oberflächen wie Notebook, SQL-Endpunkt, Lakehouse- und Warehouse-Erfahrungen zugänglich sein. Sie können die Elemente anhand ihres Präfixes im Namen erkennen. Das Präfix der Elemente lautet „DataflowsStaging“.

  6. (Optional) Auf der Seite Arbeitsbereich können Sie Ihren Dataflow umbenennen, indem Sie die Ellipse rechts neben dem Dataflownamen auswählen. Diese wird angezeigt, nachdem Sie die Zeile ausgewählt haben, und dann auf Eigenschaften klicken.

    Screenshot showing the Properties option selected on the menu for a dataflow where it can be renamed.

  7. Wählen Sie das Aktualisierungssymbol für den Dataflow aus, nachdem Sie die Zeile ausgewählt haben. Danach sollte Ihre neue Lakehouse-Tabelle wie in den Einstellungen für das Datenziel konfiguriert erstellt werden.

    Screenshot showing the selection of the refresh button to refresh the dataflow.

  8. Überprüfen Sie Ihr Lakehouse, um die neue Tabelle anzuzeigen, die dort geladen wurde.

In diesem dritten Modul unseres End-to-End-Tutorial für Ihre erste Datenintegration mit Data Factory in Microsoft Fabric haben Sie folgendes gelernt:

  • Erstellen Sie einen neuen Dataflow Gen2.
  • Importieren und Transformieren von Beispieldaten.
  • Importieren und Transformieren von Text-/CSV-Daten.
  • Zusammenführen von Daten aus beiden Datenquellen in einer neuen Abfrage.
  • Transformieren von Daten und Erstellen neuer Spalten in einer Abfrage.
  • Konfigurieren einer Ausgabezielquelle für eine Abfrage.
  • Umbenennen und Aktivieren Ihres neuen Dataflow.

Fahren Sie jetzt mit dem nächsten Modul fort, um Ihre Datenpipeline zu integrieren.