Datenintegration mit Azure Data Factory und Azure Data Share
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Kunden benötigen für ihre modernen Data Warehouse- und Analyseprojekte nicht nur mehr Daten, sondern für den gesamten Datenbestand auch einen besseren Einblick und Transparenz. In diesem Workshop wird beschrieben, wie die Datenintegration und -verwaltung in Azure aufgrund der Verbesserungen, die an Azure Data Factory und Azure Data Share vorgenommen wurden, vereinfacht wird.
Von der Aktivierung von ETL/ELT-Vorgängen ohne Code bis zur Ermöglichung eines umfassenden Überblicks über Ihre Daten: Dank der Verbesserungen in Azure Data Factory können Ihre Datentechniker problemlos größere Datenmengen verarbeiten und so den Nutzen für Ihr Unternehmen erhöhen. Mit Azure Data Share haben Sie die volle Kontrolle über die B2B-Freigabe.
In diesem Workshop nutzen Sie Azure Data Factory (ADF) zum Erfassen von Daten aus Azure SQL-Datenbank in Azure Data Lake Storage Gen2 (ADLS Gen2). Nachdem die Daten im Lake angeordnet wurden, transformieren Sie sie mit Zuordnungsdatenflüssen (dem nativen Data Factory-Transformationsdienst) und binden sie in Azure Synapse Analytics ein. Anschließend geben Sie die Tabelle mit transformierten Daten sowie einigen weiteren Daten per Azure Data Share frei.
Bei den in diesem Lab verwendeten Daten handelt es sich um New York City-Taxidaten. Laden Sie die BACPAC-Datei „taxi-data“ herunter, um diese Daten in Ihre Datenbank in Azure SQL-Datenbank zu importieren. Wählen Sie die Option Rohdatei herunterladen in GitHub aus.
Voraussetzungen
Azure-Abonnement: Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Azure SQL-Datenbank: Wenn Sie über keine Azure SQL-Datenbank verfügen, erfahren Sie, wie Sie eine SQL-Datenbank erstellen.
Azure Data Lake Storage Gen2-Speicherkonto: Falls Sie nicht über ein ADLS Gen2-Speicherkonto verfügen, können Sie sich über das Erstellen eines ADLS Gen2-Speicherkontos informieren.
Azure Synapse Analytics: Wenn Sie über keinen Azure Synapse Analytics-Arbeitsbereich verfügen, erfahren Sie mehr über die ersten Schritte mit Azure Synapse Analytics.
Azure Data Factory: Informieren Sie sich über das Erstellen einer Data Factory, falls Sie noch keine erstellt haben.
Azure Data Share: Informieren Sie sich über das Erstellen einer Datenfreigabe, falls Sie noch keine erstellt haben.
Einrichten Ihrer Azure Data Factory-Umgebung
In diesem Abschnitt wird beschrieben, wie Sie über das Azure-Portal auf die Benutzeroberfläche von Azure Data Factory (ADF UX) zugreifen. Sobald Sie sich in der ADF-Umgebung befinden, konfigurieren Sie drei verknüpfte Dienste für jeden der verwendeten Datenspeicher: Azure SQL-Datenbank, ADLS Gen2 und Azure Synapse Analytics.
Unter den verknüpften Azure Data Factory-Diensten definieren Sie die Informationen für Verbindungen mit externen Ressourcen. Azure Data Factory unterstützt derzeit mehr als 85 Connectors.
Öffnen der Azure Data Factory-Benutzeroberfläche
Öffnen Sie das Azure-Portal in Microsoft Edge oder Google Chrome.
Verwenden Sie die Suchleiste oben auf der Seite, um nach „Data Factorys“ zu suchen.
Wählen Sie Ihre Data Factory-Ressource aus, um ihre Ressourcen im linken Bereich zu öffnen.
Wählen Sie Azure Data Factory Studio öffnen aus. Auf das Data Factory Studio kann auch direkt unter adf.azure.com zugegriffen werden.
Sie werden auf die Startseite von ADF im Azure-Portal umgeleitet. Diese Seite enthält Schnellstartanleitungen, Lehrvideos und Links zu Tutorials, damit Sie auf Informationen zu den Data Factory-Konzepten zugreifen können. Um mit der Erstellung zu beginnen, wählen Sie das Stiftsymbol in der linken Seitenleiste aus.
Erstellen eines verknüpften Azure SQL-Datenbank-Diensts
Wählen Sie zum Erstellen eines verknüpften Diensts auf der linken Seitenleiste den Hub Verwalten und im Bereich Verbindungen die Option Verknüpfte Dienste aus. Wählen Sie anschließend Neu aus, um einen neuen verknüpften Dienst hinzuzufügen.
Der erste verknüpfte Dienst, den Sie konfigurieren, ist eine Azure SQL-Datenbank. Sie können die Suchleiste verwenden, um die Datenspeicherliste zu filtern. Wählen Sie auf der Kachel Azure SQL-Datenbank und dann „Weiter“ aus.
Geben Sie im Bereich für die SQL-Datenbankkonfiguration „SQLDB“ als Namen für Ihren verknüpften Dienst ein. Geben Sie Ihre Anmeldeinformationen ein, damit Data Factory eine Verbindung mit Ihrer Datenbank herstellen kann. Geben Sie bei Verwendung der SQL-Authentifizierung den Servernamen, die Datenbank, Ihren Benutzernamen und das Kennwort ein. Sie können überprüfen, ob Ihre Verbindungsinformationen korrekt sind, indem Sie Verbindung testen auswählen. Wenn Sie fertig sind, klicken Sie auf Erstellen.
Erstellen eines verknüpften Azure Synapse Analytics-Diensts
Wiederholen Sie den Vorgang, um einen verknüpften Azure Synapse Analytics-Dienst hinzuzufügen. Wählen Sie auf der Registerkarte Verbindungen die Option Neu aus. Wählen Sie die Kachel Azure Synapse Analytics und dann „Fortfahren“ aus.
Geben Sie im Konfigurationsbereich für verknüpfte Dienste „SQLDW“ als Namen für den verknüpften Dienst ein. Geben Sie Ihre Anmeldeinformationen ein, damit Data Factory eine Verbindung mit Ihrer Datenbank herstellen kann. Geben Sie bei Verwendung der SQL-Authentifizierung den Servernamen, die Datenbank, Ihren Benutzernamen und das Kennwort ein. Sie können überprüfen, ob Ihre Verbindungsinformationen korrekt sind, indem Sie Verbindung testen auswählen. Wenn Sie fertig sind, klicken Sie auf Erstellen.
Erstellen eines verknüpften Azure Data Lake Storage Gen2-Diensts
Der letzte verknüpfte Dienst, der für dieses Lab benötigt wird, ist Azure Data Lake Storage Gen2. Wählen Sie auf der Registerkarte Verbindungen die Option Neu aus. Wählen Sie die Kachel Azure Data Lake Storage Gen2 und dann Fortfahren aus.
Geben Sie im Konfigurationsbereich für den verknüpften Dienst „ADLSGen2“ als Namen für den verknüpften Dienst ein. Wählen Sie bei Verwendung der Kontoschlüsselauthentifizierung in der Auswahlliste Speicherkontoname Ihr ADLS Gen2-Speicherkonto aus. Sie können überprüfen, ob Ihre Verbindungsinformationen korrekt sind, indem Sie Verbindung testen auswählen. Wenn Sie fertig sind, klicken Sie auf Erstellen.
Aktivieren des Debugmodus für Datenflüsse
Im Abschnitt Transformieren von Daten per Zuordnung von Datenflüssen erstellen Sie Zuordnungsdatenflüsse. Eine bewährte Methode vor dem Erstellen von Zuordnungsdatenflüssen ist das Aktivieren des Debugmodus. Dies ermöglicht Ihnen das Testen der Transformationslogik innerhalb weniger Sekunden in einem aktiven Spark-Cluster.
Um das Debuggen zu aktivieren, wählen Sie den Schieberegler Datenfluss-Debuggen in der oberen Leiste des Datenfluss- oder Pipeline-Zeichenbereichs aus, wenn Datenflussaktivitäten vorhanden sind. Wählen Sie OK, wenn der Bestätigungsdialog angezeigt wird. Der Cluster wird in etwa fünf bis sieben Minuten gestartet. Fahren Sie mit dem Erfassen von Daten aus Azure SQL-Datenbank in ADLS Gen2 per Copy-Aktivität fort, während der Initialisierungsvorgang läuft.
Erfassen von Daten mithilfe der Kopieraktivität
In diesem Abschnitt erstellen Sie eine Pipeline mit einer Copy-Aktivität, bei der eine Tabelle aus einer Azure SQL-Datenbank in einem ADLS Gen2-Speicherkonto erfasst wird. Es wird beschrieben, wie Sie eine Pipeline hinzufügen, ein Dataset konfigurieren und eine Pipeline über die ADF-Benutzeroberfläche debuggen. Das in diesem Abschnitt verwendete Konfigurationsmuster kann auf das Kopieren aus einem relationalen Datenspeicher in einen dateibasierten Datenspeicher angewendet werden.
In Azure Data Factory ist eine Pipeline eine logische Gruppierung von Aktivitäten, die zusammen eine Aufgabe bilden. Mit einer Aktivität wird ein Vorgang definiert, der für Ihre Daten durchgeführt werden soll. Ein Dataset verweist auf die Daten, die Sie in einem verknüpften Dienst verwenden möchten.
Erstellen einer Pipeline mit einer Kopieraktivität
Wählen Sie im Factory-Ressourcenbereich das Plus-Symbol aus, um das neue Ressourcenmenü zu öffnen. Wählen Sie Pipeline aus.
Geben Sie Ihrer Pipeline in der Pipelinecanvas auf der Registerkarte Allgemein einen beschreibenden Namen, z. B. „IngestAndTransformTaxiData“.
Öffnen Sie auf der Pipelinecanvas unter „Aktivitäten“ den Accordion-Bereich Move and Transform (Verschieben und transformieren), und ziehen Sie die Aktivität Daten kopieren in die Canvas. Geben Sie der Kopieraktivität einen beschreibenden Namen, z. B. „IngestIntoADLS“.
Konfigurieren eines Quelldatasets für die Azure SQL-Datenbank
Wählen Sie auf der Registerkarte Quelle der Kopieraktivität aus. Um einen neuen Datensatz zu erstellen, wählen Sie Neu. Ihre Quelle ist die Tabelle
dbo.TripData
, die sich unter dem weiter oben konfigurierten verknüpften Dienst „SQLDB“ befindet.Suchen Sie nach Azure SQL-Datenbank, und wählen Sie Weiter aus.
Geben Sie Ihrem Dataset den Namen „TripData“. Wählen Sie „SQLDB“ als verknüpften Dienst aus. Wählen Sie in der Auswahlliste „Tabellenname“ die Tabelle
dbo.TripData
aus. Importieren Sie das Schema Aus Verbindung/Speicher. Wählen Sie nach der Fertigstellung OK aus.
Sie haben Ihr Quelldataset erfolgreich erstellt. Stellen Sie in den Quelleinstellungen sicher, dass im Feld für „Abfrage verwenden“ der Standardwert Tabelle ausgewählt ist.
Konfigurieren des ADLS Gen2-Senkendatasets
Wählen Sie auf der Registerkarte Senke der Kopieraktivität aus. Um einen neuen Datensatz zu erstellen, wählen Sie Neu.
Suchen Sie nach Azure Data Lake Storage Gen2, und wählen Sie Weiter aus.
Wählen Sie im ausgewählten Formatbereich beim Schreiben in eine CSV-Datei die Option DelimitedText. Wählen Sie Weiter aus.
Geben Sie Ihrem Senkendataset den Namen „TripDataCSV“. Wählen Sie „ADLSGen2“ als verknüpften Dienst aus. Geben Sie ein, an welchen Speicherort Ihre CSV-Datei geschrieben werden soll. Sie können Ihre Daten beispielsweise in die Datei
trip-data.csv
im Containerstaging-container
schreiben. Legen Sie Erste Zeile als Header verwenden auf „true“ fest, da Ihre Ausgabedaten Header enthalten sollen. Legen Sie Schema importieren auf Keine fest, da am Zielort noch keine Datei vorhanden ist. Wählen Sie nach der Fertigstellung OK aus.
Testen der Kopieraktivität mit einer Debugausführung der Pipeline
Um zu überprüfen, ob Ihre Kopieraktivität ordnungsgemäß funktioniert, wählen Sie oben im Pipeline-Zeichenbereich Debuggen aus, um einen Debug-Lauf auszuführen. Mit einer Debugausführung können Sie Ihre Pipeline entweder von Anfang bis Ende oder bis zu einem Breakpoint testen, bevor Sie sie im Data Factory-Dienst veröffentlichen.
Navigieren Sie in der Pipelinecanvas zur Registerkarte Ausgabe, um Ihre Debugausführung zu überwachen. Der Überwachungsbildschirm wird alle 20 Sekunden automatisch aktualisiert oder wenn Sie manuell auf die Schaltfläche Aktualisieren klicken. Die Copy-Aktivität verfügt über eine spezielle Überwachungsansicht, auf die Sie zugreifen können, indem Sie in der Spalte Aktionen das Brillensymbol wählen.
Die Überwachungsansicht für den Kopiervorgang enthält die Ausführungsdetails und Leistungsmerkmale zur Aktivität. Sie können Informationen zu „gelesene/geschriebene Daten“, „gelesene/geschriebene Zeilen“, „gelesene/geschriebene Dateien“ und „Durchsatz“ anzeigen. Wenn Sie alles richtig konfiguriert haben, sollten Sie verfolgen können, dass 49.999 Zeilen in eine Datei in Ihrer ADLS-Senke geschrieben werden.
Bevor Sie mit dem nächsten Abschnitt fortfahren, wird das Veröffentlichen Ihrer Änderungen über den Data Factory-Dienst vorgeschlagen. Hierzu wählen Sie in der oberen Factory-Leiste Alle veröffentlichen. In diesem Lab ist keine Beschreibung enthalten, aber für Azure Data Factory wird die vollständige Git-Integration unterstützt. Die Git-Integration ermöglicht Versionskontrolle, iteratives Speichern in einem Repository und Zusammenarbeit über eine Data Factory. Weitere Informationen finden Sie unter Quellcodeverwaltung in Azure Data Factory.
Transformieren von Daten per Zuordnung von Datenflüssen
Nachdem Sie Daten nun erfolgreich in Azure Data Lake Storage kopiert haben, können Sie diese Daten verknüpfen und in einem Data Warehouse aggregieren. Hierfür verwenden wir Zuordnungsdatenflüsse. Dies ist der visuell konzipierte Transformationsdienst von Azure Data Factory. Mit Zuordnungsdatenflüssen können Benutzer Transformationslogik ohne Code entwickeln und diese in Spark-Clustern ausführen, die vom ADF-Dienst verwaltet werden.
Mit dem in diesem Schritt erstellten Datenfluss wird für das Dataset „TripDataCSV“ aus dem vorherigen Abschnitt basierend auf vier Schlüsselspalten ein Vorgang vom Typ „Innerer Join“ mit der Tabelle dbo.TripFares
durchgeführt, die in „SQLDB“ gespeichert ist. Anschließend werden die Daten basierend auf der Spalte payment_type
aggregiert, um den Mittelwert für bestimmte Felder zu berechnen, und in eine Azure Synapse Analytics-Tabelle geschrieben.
Hinzufügen einer Datenflussaktivität zu Ihrer Pipeline
Öffnen Sie auf der Pipelinecanvas unter „Aktivitäten“ den Accordion-Bereich Move and Transform (Verschieben und transformieren), und ziehen Sie die Aktivität Datenfluss in die Canvas.
Wählen Sie im daraufhin geöffneten Seitenbereich die Option Neuen Datenfluss erstellen und dann Zuordnungsdatenfluss aus. Wählen Sie OK aus.
Sie werden an die Datenflusscanvas weitergeleitet, in der Sie Ihre Transformationslogik erstellen. Geben Sie Ihrem Datenfluss auf der Registerkarte „Allgemein“ den Namen „JoinAndAggregateData“.
Konfigurieren der CSV-Quelle für Ihre Fahrtdaten
Es ist ratsam, als Erstes Ihre beiden Quelltransformationen zu konfigurieren. Die erste Quelle verweist auf das Dataset „TripDataCSV“ vom Typ „DelimitedText“. Um eine Quelltransformation hinzuzufügen, wählen Sie im Canvas das Feld Quelle hinzufügen aus.
Geben Sie Ihrer Quelle den Namen „TripDataCSV“, und wählen Sie in der Auswahlliste der Quelle das Dataset „TripDataCSV“ aus. Hinweis: Sie haben beim Erstellen dieses Datasets ursprünglich kein Schema importiert, weil keine Daten vorhanden waren. Da es jetzt
trip-data.csv
existiert, wählen Sie Bearbeiten aus, um zur Registerkarte Dataset-Einstellungen zu wechseln.Gehen Sie zur Registerkarte Schema und wählen Sie Schema importieren aus. Wählen Sie Aus Verbindung/Speicher, um den direkten Import aus dem Dateispeicher durchzuführen. Es sollten 14 Spalten vom Typ „Zeichenfolge“ angezeigt werden.
Navigieren Sie zurück zum Datenfluss „JoinAndAggregateData“. Wenn Ihr Debug-Cluster gestartet wurde (angezeigt durch einen grünen Kreis neben dem Debug-Schieberegler), können Sie auf der Registerkarte Datenvorschau einen Snapshot der Daten abrufen. Wählen Sie Aktualisieren aus, um eine Datenvorschau abzurufen.
Hinweis
Von der Datenvorschau werden keine Daten geschrieben.
Konfigurieren Ihrer Fahrpreise: Quelle für SQL-Datenbank
Die zweite Quelle, aus der Sie Punkte in der SQL-Datenbanktabelle
dbo.TripFares
hinzufügen. Unter der Quelle „TripDataCSV“ wird ein weiteres Feld Quelle hinzufügen angezeigt. Wählen Sie es aus, um eine neue Quelltransformation hinzuzufügen.Geben Sie dieser Quelle den Namen „TripFaresSQL“. Wählen Sie Neu neben dem Feld Quell-Dataset aus, um ein neues SQL-Datenbank-Dataset zu erstellen.
Wählen Sie die Kachel Azure SQL-Datenbank und dann Fortfahren aus. Eventuell stellen Sie fest, dass viele Connectors in Data Factory für Zuordnungsdatenflüsse nicht unterstützt werden. Erfassen Sie Daten per Kopieraktivität in einer unterstützten Quelle, um diese aus einer dieser Quellen zu transformieren.
Geben Sie Ihrem Dataset den Namen „TripFares“. Wählen Sie „SQLDB“ als verknüpften Dienst aus. Wählen Sie in der Auswahlliste „Tabellenname“ die Tabelle
dbo.TripFares
aus. Importieren Sie das Schema Aus Verbindung/Speicher. Wählen Sie nach der Fertigstellung OK aus.Rufen Sie zum Überprüfen Ihrer Daten auf der Registerkarte Datenvorschau eine Datenvorschau ab.
Innerer Join: TripDataCSV und TripFaresSQL
Um eine neue Transformation hinzuzufügen, wählen Sie das Plus-Symbol in der rechten unteren Ecke von ‚TripDataCSV‘ aus. Wählen Sie unter Multiple inputs/outputs (Mehrere Eingaben/Ausgaben) die Option Join aus.
Geben Sie Ihrer Join-Transformation den Namen „InnerJoinWithTripFares“. Wählen Sie in der Auswahlliste des rechten Streams „TripFaresSQL“ aus. Wählen Sie Innerer als Join-Typ aus. Weitere Informationen zu den unterschiedlichen Join-Typen im Zuordnungsdatenfluss finden Sie unter Join-Typen.
Wählen Sie über die Auswahlliste mit den Verknüpfungsbedingungen aus, welche Spalten für jeden Stream abgeglichen werden sollen. Um eine zusätzliche Join-Bedingung hinzuzufügen, wählen Sie das Plus-Symbol neben einer vorhandenen Bedingung aus. Standardmäßig werden alle Verknüpfungsbedingungen mit einem AND-Operator kombiniert. Das bedeutet, dass alle Bedingungen erfüllt sein müssen, damit sich eine Übereinstimmung ergibt. In diesem Lab möchten wir die Spalten
medallion
,hack_license
,vendor_id
undpickup_datetime
verwenden.Vergewissern Sie sich anhand einer Datenvorschau, dass Sie 25 Spalten erfolgreich verknüpft haben.
Aggregieren nach „payment_type“
Fügen Sie nach Abschluss Ihrer Join-Transformation eine Aggregattransformation hinzu, indem Sie neben InnerJoinWithTripFaresauswählen auf das Pluszeichen klicken. Wählen Sie unter Schemamodifizierer die Option Aggregieren aus.
Geben Sie Ihrer Aggregattransformation den Namen „AggregateByPaymentType“. Wählen Sie
payment_type
als Spalte aus, nach der gruppiert werden soll.Wechseln Sie zur Registerkarte Aggregate. Geben Sie zwei Aggregationen an:
- Durchschnittlicher Fahrpreis gruppiert nach Zahlungstyp
- Gesamte Fahrtstrecke gruppiert nach Zahlungstyp
Als Erstes erstellen Sie den Ausdruck für den durchschnittlichen Fahrpreis. Geben Sie im Textfeld Add or select a column (Spalte hinzufügen oder auswählen) den Namen „average_fare“ ein.
Um einen Aggregationsausdruck einzugeben, markieren Sie das blaue Kästchen mit der Aufschrift Ausdruck eingeben. Der Ausdrucks-Generator für Datenflüsse wird geöffnet. Hierbei handelt es sich um ein Tool, das zum visuellen Erstellen von Datenflussausdrücken mit Eingabeschema, integrierten Funktionen und Vorgängen sowie benutzerdefinierten Parametern verwendet wird. Weitere Informationen zu den Funktionen des Ausdrucks-Generators finden Sie in der Dokumentation des Ausdrucks-Generators.
Verwenden Sie zum Abrufen des durchschnittlichen Fahrpreises die Aggregationsfunktion
avg()
, um die Spaltetotal_amount
zu aggregieren, die pertoInteger()
in eine Integer umgewandelt wurde. In der Ausdruckssprache für Datenflüsse ist dies alsavg(toInteger(total_amount))
definiert. Wählen Sie Speichern und beenden aus, wenn Sie fertig sind.Um einen weiteren Aggregationsausdruck hinzuzufügen, wählen Sie das Plussymbol neben
average_fare
aus. Wählen Sie die Option Spalte hinzufügen aus.Geben Sie im Textfeld Add or select a column (Spalte hinzufügen oder auswählen) den Namen „total_trip_distance“ ein. Öffnen Sie wie im letzten Schritt den Ausdrucks-Generator, um den Ausdruck einzugeben.
Verwenden Sie zum Abrufen der gesamten Fahrstrecke die Aggregationsfunktion
sum()
, um die Spaltetrip_distance
zu aggregieren, die pertoInteger()
in eine Integer umgewandelt wurde. In der Ausdruckssprache für Datenflüsse ist dies alssum(toInteger(trip_distance))
definiert. Wählen Sie Speichern und beenden aus, wenn Sie fertig sind.Testen Sie Ihre Transformationslogik auf der Registerkarte Datenvorschau. Sie sehen, dass weniger Zeilen und Spalten als vorher vorhanden sind. Nur die drei Spalten vom Typ „Gruppieren nach“ und „Aggregation“, die in dieser Transformation definiert sind, werden weiter genutzt. Da das Beispiel nur fünf Zahlungstypgruppen enthält, werden nur fünf Zeilen ausgegeben.
Konfigurieren der Azure Synapse Analytics-Senke
Nachdem die Transformationslogik fertiggestellt wurde, können Sie Ihre Daten in eine Azure Synapse Analytics-Tabelle einbinden. Fügen Sie im Abschnitt Ziel eine Senkentransformation hinzu.
Geben Sie Ihrer Senke den Namen „SQLDWSink“. Wählen Sie neben dem Feld Senkendataset die Option Neu aus, um ein neues Azure Synapse Analytics-Dataset zu erstellen.
Wählen Sie die Kachel Azure Synapse Analytics und dann „Fortfahren“ aus.
Geben Sie Ihrem Dataset den Namen „AggregatedTaxiData“. Wählen Sie „SQLDW“ als verknüpften Dienst aus. Wählen Sie Neue Tabelle erstellen aus, und geben Sie der neuen Tabelle den Namen
dbo.AggregateTaxiData
. Wählen Sie abschließend OK aus.Navigieren Sie zur Registerkarte Einstellungen der Senke. Da Sie eine neue Tabelle erstellen, müssen Sie als Tabellenaktion die Option Tabelle neu erstellen auswählen. Deaktivieren Sie die Option Staging aktivieren. Damit wird angegeben, ob das Einfügen zeilenweise oder als Batch durchgeführt wird.
Sie haben Ihren Datenfluss erfolgreich erstellt. Als Nächstes führen Sie ihn in einer Pipelineaktivität aus.
Debuggen Ihrer Pipeline von Anfang bis Ende
Wechseln Sie zurück zur Registerkarte für die Pipeline IngestAndTransformData. Achten Sie auf das grüne Feld der Kopieraktivität „IngestIntoADLS“. Ziehen Sie es auf die Datenflussaktivität „JoinAndAggregateData“. Ein Element vom Typ „Bei Erfolg“ wird erstellt. Es bewirkt, dass die Datenflussaktivität nur ausgeführt wird, wenn der Kopiervorgang erfolgreich ist.
Wählen Sie wie bei der Kopieraktivität Debug aus, um einen Debug-Lauf auszuführen. Für Debugausführungen wird von der Datenflussaktivität der aktive Debugcluster verwendet und kein neuer Cluster erstellt. Die Ausführung dieser Pipeline dauert etwas mehr als eine Minute.
Wie die Kopieraktivität auch, verfügt der Datenfluss über eine spezielle Überwachungsansicht, auf die nach Abschluss des Vorgangs über das Brillensymbol zugegriffen werden kann.
In der Überwachungsansicht wird in jeder Ausführungsphase ein vereinfachter Datenflussgraph mit den Ausführungszeiten und -zeilen angezeigt. Wenn dies korrekt durchgeführt wird, sollten bei dieser Aktivität 49.999 Zeilen in fünf Zeilen aggregiert worden sein.
Sie können eine Umwandlung auswählen, um zusätzliche Details zu ihrer Ausführung zu erhalten, wie z. B. Partitionierungsinformationen und neue/aktualisierte/gelöschte Spalten.
Sie haben den Data Factory-Teil dieses Labs jetzt abgeschlossen. Veröffentlichen Sie Ihre Ressourcen, falls Sie diese mit Triggern operationalisieren möchten. Sie haben erfolgreich eine Pipeline ausgeführt, mit der Daten mit der Kopieraktivität aus Azure SQL-Datenbank in Azure Data Lake Storage erfasst wurden, und diese Daten anschließend in einer Azure Synapse Analytics-Instanz aggregiert. Sie können überprüfen, ob das Schreiben der Daten erfolgreich war, indem Sie sich die SQL Server-Instanz ansehen.
Freigeben von Daten mithilfe von Azure Data Share
In diesem Abschnitt wird beschrieben, wie Sie mit dem Azure-Portal eine neue Datenfreigabe einrichten. Dies umfasst das Erstellen einer neuen Datenfreigabe, die Datasets aus Azure Data Lake Storagee Gen2 und Azure Synapse Analytics enthält. Anschließend konfigurieren Sie eine Momentaufnahme, damit die Datenconsumer über eine Option zum automatischen Aktualisieren der freigegebenen Daten verfügen. Anschließend laden Sie Empfänger für Ihre Datenfreigabe ein.
Nachdem Sie eine Datenfreigabe erstellt haben, wechseln Sie dann die Seite und werden zum Datenconsumer. Als Datenconsumer führen Sie die folgenden Schritte aus: Akzeptieren einer Einladung für die Datenfreigabe, Konfigurieren des Orts für den Datenempfang und Zuordnen von Datasets zu unterschiedlichen Speicherorten. Anschließend lösen Sie eine Momentaufnahme aus. Bei diesem Vorgang werden die für Sie freigegebenen Daten an das Ziel kopiert, das Sie angegeben haben.
Freigeben von Daten (Datenanbieterfluss)
Öffnen Sie das Azure-Portal in Microsoft Edge oder Google Chrome.
Verwenden Sie die Suchleiste oben auf der Seite, um nach Datenfreigaben zu suchen.
Wählen Sie das Datenfreigabekonto aus, dessen Name „Provider“ enthält. Beispiel: DataProvider0102.
Wählen Sie Freigabe Ihrer Daten starten aus.
Wählen Sie + Erstellen aus, um mit dem Konfigurieren Ihrer neuen Datenfreigabe zu beginnen.
Geben Sie unter Freigabename einen Namen Ihrer Wahl an. Dies ist der Freigabename, der für Ihren Datenconsumer angezeigt wird. Daher ist es ratsam, einen beschreibenden Namen zu verwenden, z. B. „TaxiData“.
Geben Sie unter Beschreibung einen Satz ein, mit dem der Inhalt der Datenfreigabe beschrieben wird. Die Datenfreigabe enthält Daten zu weltweiten Taxifahrten, die sich in unterschiedlichen Speichern befinden, z. B. Azure Synapse Analytics und Azure Data Lake Store.
Geben Sie unter Nutzungsbedingungen die Bedingungen an, an die sich Ihr Datenconsumer halten soll. Beispiele hierfür sind „Daten nicht außerhalb Ihres Unternehmens weitergeben“ oder „Siehe Vertrag“.
Wählen Sie Weiter.
Wählen Sie die Option Datasets hinzufügen aus.
Wählen Sie Azure Synapse Analytics aus, um in Azure Synapse Analytics eine Tabelle auszuwählen, in der Ihre ADF-Transformationen enthalten sind.
Sie erhalten ein Skript, das Sie vor dem Fortfahren ausführen können. Mit dem bereitgestellten Skript wird in der SQL-Datenbank ein Benutzer erstellt, damit die verwaltete Dienstidentität von Azure Data Share im Namen des Benutzers die Authentifizierung durchführen kann.
Wichtig
Vor dem Ausführen des Skripts müssen Sie sich selbst als Active Directory-Administrator für die logische SQL Server-Instanz der Azure SQL-Datenbank festlegen.
Öffnen Sie eine neue Registerkarte, und navigieren Sie zum Azure-Portal. Kopieren Sie das bereitgestellte Skript, um einen Benutzer in der Datenbank zu erstellen, aus der Sie Daten freigeben möchten. Melden Sie sich dazu mithilfe des Abfrage-Editors im Azure-Portalmit einer Microsoft Entra-Authentifizierung bei der EDW-Datenbank an. Sie müssen den/die Benutzer*in im folgenden Beispielskript ändern:
CREATE USER [dataprovider-xxxx@contoso.com] FROM EXTERNAL PROVIDER; ALTER ROLE db_owner ADD MEMBER [wiassaf@microsoft.com];
Wechseln Sie zurück zur Azure Data Share-Instanz, in der Sie Ihrer Datenfreigabe Datasets hinzugefügt haben.
Wählen Sie EDW und anschließend AggregatedTaxiData für die Tabelle aus.
Wählen Sie Dataset hinzufügen aus.
Wir verfügen jetzt über eine SQL-Tabelle, die Teil unseres Datasets ist. Als Nächstes fügen wir weitere Datasets aus Azure Data Lake Storage hinzu.
Wählen Sie Dataset hinzufügen und Azure Data Lake Storage Gen2 aus.
Wählen Sie Weiter aus.
Erweitern Sie wwtaxidata. Erweitern Sie Boston Taxi Data. Sie können Daten bis hinunter auf Dateiebene freigeben.
Wählen Sie den Ordner Boston Taxi Data aus, um den gesamten Ordner für Ihre Datenfreigabe hinzuzufügen.
Wählen Sie die Option Datasets hinzufügen aus.
Überprüfen Sie die hinzugefügten Datasets. Sie sollten für Ihre Datenfreigabe über eine SQL-Tabelle und einen ADLS Gen2-Ordner verfügen.
Wählen Sie Weiter.
Auf diesem Bildschirm können Sie Ihrer Datenfreigabe Empfänger hinzufügen. Die von Ihnen hinzugefügten Empfänger erhalten Einladungen für Ihre Datenfreigabe. Für dieses Lab müssen Sie zwei E-Mail-Adressen hinzufügen:
Auf diesem Bildschirm können Sie eine Momentaufnahmeeinstellung für Ihren Datenconsumer konfigurieren. Dies ermöglicht es dem Datenconsumer, nach einem von Ihnen definierten Intervall regelmäßige Updates Ihrer Daten zu erhalten.
Aktivieren Sie Momentaufnahmezeitplan, und konfigurieren Sie über die Auswahlliste Serie eine stündliche Aktualisierung Ihrer Daten.
Wählen Sie Erstellen aus.
Sie verfügen jetzt über eine aktive Datenfreigabe. Wir sehen uns nun an, was Ihnen als Datenanbieter beim Erstellen einer Datenfreigabe angezeigt wird.
Wählen Sie die von Ihnen erstellte Datenfreigabe mit dem Namen DataProvider aus. Wählen Sie unter Datenfreigabe die Option Gesendete Freigaben aus, um zur Datenfreigabe zu navigieren.
Wählen Sie Snapshot-Zeitplan aus. Sie können den Momentaufnahmezeitplan bei Bedarf deaktivieren.
Wählen Sie als Nächstes die Registerkarte Datasets aus. Sie können dieser Datenfreigabe nach der Erstellung weitere Datasets hinzufügen.
Wählen Sie die Registerkarte Freigabeabonnements aus. Es sind noch keine Freigabeabonnements vorhanden, da Ihr Datenconsumer Ihre Einladung noch nicht akzeptiert hat.
Navigieren Sie zur Registerkarte Einladungen. Auf der Registerkarte wird eine Liste mit den ausstehenden Einladungen angezeigt.
Wählen Sie die Einladung für janedoe@fabrikam.com aus. Wählen Sie „Löschen“ aus. Wenn die Empfängerin die Einladung noch nicht akzeptiert hat, kann sie dies nun nicht mehr tun.
Wählen Sie die Registerkarte Verlauf . Es wird noch nichts angezeigt, weil der Datenconsumer Ihre Einladung noch nicht akzeptiert und eine Momentaufnahme ausgelöst hat.
Empfangen von Daten (Datenconsumerfluss)
Nachdem wir unsere Datenfreigabe nun überprüft haben, können wir den Kontext ändern und zum Datenconsumer wechseln.
Sie sollten in Ihrem Posteingang jetzt eine Azure Data Share-Einladung von Microsoft Azure finden. Starten Sie Outlook Web Access (outlook.com), und melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement an.
Wählen Sie in der E-Mail, die Sie erhalten haben sollten, auf „Einladung anzeigen >“. An diesem Punkt simulieren Sie auf der Datenconsumer-Benutzeroberfläche den Vorgang, bei dem die Einladung eines Datenanbieters für die Datenfreigabe akzeptiert wird.
Unter Umständen werden Sie aufgefordert, ein Abonnement auszuwählen. Achten Sie darauf, dass Sie das Abonnement auswählen, mit dem Sie in diesem Lab gearbeitet haben.
Wählen Sie auf der Einladung den Titel DataProvider aus.
Im angezeigten Bereich Einladung sehen Sie verschiedene Details zu der Datenfreigabe, die Sie zuvor als Datenanbieter konfiguriert haben. Überprüfen Sie die Details, und akzeptieren Sie die Nutzungsbedingungen, falls diese angegeben sind.
Wählen Sie das Abonnement und dann die Ressourcengruppe aus, die für das Lab bereits vorhanden ist.
Wählen Sie unter Datenfreigabekonto die Option DataConsumer aus. Sie können auch ein neues Datenfreigabekonto erstellen.
Sie sehen, dass neben Name der empfangenen Freigabe als Standardfreigabename der Name angezeigt wird, der vom Datenanbieter angegeben wurde. Geben Sie der Freigabe einen Anzeigenamen, der die zu empfangenden Daten beschreibt, z. B. TaxiDataShare.
Sie können die Option Accept and configure now (Akzeptieren und jetzt konfigurieren) oder Accept and configure later (Akzeptieren und später konfigurieren) auswählen. Wenn Sie sich für das Akzeptieren mit sofortiger Konfiguration entscheiden, geben Sie ein Speicherkonto an, in das alle Daten kopiert werden sollen. Wenn Sie sich für das Akzeptieren mit späterer Konfiguration entscheiden, sind die Datasets der Freigabe nicht zugeordnet, und Sie müssen die Zuordnung später manuell durchführen. Wir entscheiden uns für die spätere Konfiguration.
Wählen Sie die Option Akzeptieren und später konfigurieren aus.
Beim Konfigurieren dieser Option wird ein Freigabeabonnement erstellt, aber da kein Ziel zugeordnet wurde, ist kein Ort für die Freigabe der Daten vorhanden.
Als Nächstes konfigurieren wir Datasetzuordnungen für die Datenfreigabe.
Wählen Sie die empfangene Freigabe aus (Name, den Sie in Schritt 5 angegeben haben).
Momentaufnahme auslösen ist abgeblendet, aber die Freigabe ist „Aktiv“.
Wählen Sie die Registerkarte Datasets aus. Für alle Datasets ist „Nicht zugeordnet“ angegeben. Dies bedeutet, dass kein Ziel zum Kopieren der Daten vorhanden ist.
Wählen Sie die Azure Synapse Analytics-Tabelle und anschließend + Dem Ziel zuordnen aus.
Wählen Sie auf der rechten Seite des Bildschirms die Auswahlliste Zieldatentyp aus.
Sie können die SQL-Daten einem großen Bereich von Datenspeichern zuordnen. In diesem Fall führen wir die Zuordnung zu einer Azure SQL-Datenbank durch.
(Optional) Wählen Sie Azure Data Lake Storage Gen2 als Zieldatentyp aus.
(Optional) Wählen Sie das von Ihnen verwendete Abonnement, die Ressourcengruppe und das Speicherkonto aus.
(Optional) Sie können angeben, ob Sie die Daten in Ihrer Data Lake-Instanz im CSV- oder Parquet-Format empfangen möchten.
Wählen Sie neben Zieldatentyp die Option „Azure SQL-Datenbank“ aus.
Wählen Sie das von Ihnen verwendete Abonnement, die Ressourcengruppe und das Speicherkonto aus.
Bevor Sie fortfahren können, müssen Sie in der SQL Server-Instanz einen neuen Benutzer erstellen, indem Sie das angegebene Skript ausführen. Kopieren Sie zuerst das bereitgestellte Skript in die Zwischenablage.
Öffnen Sie im Azure-Portal eine neue Registerkarte. Schließen Sie die bereits geöffnete Registerkarte nicht, da Sie sie gleich noch benötigen.
Navigieren Sie auf der neuen Registerkarte zu SQL-Datenbanken.
Wählen Sie die SQL-Datenbank aus (unter Ihrem Abonnement sollte nur ein Eintrag vorhanden sein). Achten Sie darauf, dass Sie nicht das Data Warehouse auswählen.
Wählen Sie Abfrage-Editor (Vorschau) aus.
Verwenden Sie die Microsoft Entra-Authentifizierung, um sich beim Abfrage-Editor anzumelden.
Führen Sie die unter der Datenfreigabe bereitgestellte Abfrage aus (in Schritt 14 in die Zwischenablage kopiert).
Mit diesem Befehl kann der Azure Data Share-Dienst verwaltete Identitäten für Azure-Dienste nutzen, um die Authentifizierung für die SQL Server-Instanz durchzuführen, damit dafür Daten kopiert werden können.
Wechseln Sie zurück zur ursprünglichen Registerkarte, und wählen Sie Dem Ziel zuordnen aus.
Wählen Sie als Nächstes den Ordner „Azure Data Lake Storage Gen2“ aus, der Teil des Datasets ist, und ordnen Sie ihn einem Azure Blob Storage-Konto zu.
Nachdem alle Datasets zugeordnet wurden, können Sie mit dem Empfang der Daten vom Datenanbieter beginnen.
Wählen Sie Details aus.
Die Option Momentaufnahme auslösen ist nicht mehr abgeblendet, weil die Datenfreigabe jetzt über Ziele für den Kopiervorgang verfügt.
Wählen Sie Momentaufnahme auslösen ->Vollständige Kopieaus aus.
Der Vorgang zum Kopieren der Daten in Ihr neues Datenfreigabekonto wird gestartet. In einem realen Szenario stammen diese Daten von einem Drittanbieter.
Es dauert ungefähr 3 bis 5 Minuten, bis die Übertragung der Daten abgeschlossen ist. Sie können den Status überwachen, indem Sie die Registerkarte Verlauf wählen.
Navigieren Sie während des Wartezeitraums zur ursprünglichen Datenfreigabe (DataProvider), und zeigen Sie den Status der Registerkarten Freigabeabonnements und Verlauf an. Jetzt ist ein aktives Abonnement vorhanden. Als Datenanbieter können Sie auch überwachen, wann für den Datenconsumer der Empfang der Daten, die für ihn freigegeben wurden, begonnen hat.
Navigieren Sie zurück zur Datenfreigabe des Datenconsumers. Wenn der Status des Triggers „Erfolg“ lautet, können Sie zur SQL-Zieldatenbank und zur Data Lake-Instanz navigieren, um sich zu vergewissern, dass die Daten in die entsprechenden Speicher übertragen wurden.
Glückwunsch! Sie haben das Lab nun abgeschlossen.