Debuggen von Data Factory-Pipelines

Abgeschlossen

Die Anforderungen und Erwartungen der Kunden in Bezug auf die Datenintegration ändern sich. Das Bedürfnis der Benutzer, ihre ETL- (Extrahieren, Transformieren und Laden) und ELT-Workflows (Extrahieren, Laden, Transformieren) iterativ zu entwickeln und zu debuggen, wird daher immer dringender.

Azure Data Factory kann Sie beim Erstellen und Entwickeln iterativer Data Factory-Debugpipelines unterstützen, wenn Sie Ihre Datenintegrationslösung entwickeln. Wenn Sie eine Pipeline mithilfe der Pipelinecanvas erstellen, können Sie Ihre Aktivitäten und Pipelines mithilfe der Funktion „Debuggen“ testen.

In Azure Data Factory ist es nicht erforderlich, Änderungen in der Pipeline oder an Aktivitäten zu veröffentlichen, bevor Sie das Debuggen durchführen. Dies ist hilfreich in einem Szenario, in dem Sie die Änderungen testen und prüfen möchten, ob sie wie erwartet funktionieren, bevor Sie sie tatsächlich speichern und veröffentlichen.

Mitunter möchten Sie nicht die gesamte Pipeline debuggen, sondern einen Teil der Pipeline testen. Mit einer Ausführung von „Debug“ können Sie genau das erreichen. Sie können einen End-to-End-Test für die Pipeline ausführen oder einen Haltepunkt festlegen. Wenn Sie sich dabei im Debugmodus befinden, können Sie die Ergebnisse der einzelnen Schritte interaktiv prüfen, während Sie Ihre Pipeline erstellen und debuggen.

Debuggen und Veröffentlichen einer Pipeline

Während Sie eine Pipeline erstellen oder ändern, die ausgeführt wird, können Sie die Ergebnisse der einzelnen Aktivitäten auf der Registerkarte „Ausgabe“ der Pipelinecanvas sehen.

Nachdem ein Testlauf erfolgreich verlaufen ist und Sie mit den Ergebnissen zufrieden sind, können Sie weitere Aktivitäten zur Pipeline hinzufügen und das Debugging iterativ fortsetzen. Wenn Sie nicht zufrieden sind oder das Debuggen der Pipeline beenden möchten, können Sie einen Testlauf abbrechen, noch während er ausgeführt wird. Beachten Sie, dass die Pipeline durch Klicken auf den Debugschieberegler tatsächlich ausgeführt wird. Wenn die Pipeline also z. B. eine Kopieraktivität enthält, werden beim Testlauf Daten von der Quelle zum Ziel kopiert.

Eine bewährte Methode beim Debuggen ist die Verwendung von Testordnern in Kopieraktivitäten und anderen Aktivitäten. So können Sie zu den Ordnern für Ihre normalen Vorgänge wechseln, wenn Sie mit den Ergebnissen zufrieden sind und die Pipeline gedebuggt haben.

Klicken Sie auf der Symbolleiste auf Debuggen, um die Pipeline zu debuggen. Der Status der Pipelineausführung wird unten im Fenster auf der Registerkarte Ausgabe angezeigt.

Debug slider Azure Data Factory

Output tab Azure Data Factory Debug

Sobald die Pipeline erfolgreich ausgeführt werden kann, wählen Sie in der oberen Symbolleiste Alle veröffentlichen aus. Mit dieser Aktion werden erstellte Entitäten (Datasets und Pipelines) in Data Factory veröffentlicht.

Publish all changes and entities in Azure Data Factory

Warten Sie, bis der Hinweis zur erfolgreichen Veröffentlichung angezeigt wird. Um Benachrichtigungen anzuzeigen, klicken Sie oben rechts im Portal auf Benachrichtigungen anzeigen (Glockensymbol).

Bell button for notifications in Azure Data Factory

Debuggen von Zuordnungsdatenflüssen

Während des Erstellens von Zuordnungsdatenflüssen können Sie interaktiv beobachten, wie die Datenformen und -transformationen ausgeführt werden, sodass Sie sie debuggen können. Um diese Funktionalität zu nutzen, ist es zunächst notwendig, die Funktion „Debuggen von Datenflüssen“ zu aktivieren.

Die Debugsitzung kann sowohl in Datenfluss-Entwurfssitzungen als auch während der Pipelinedebuggingausführung von Datenflüssen verwendet werden. Nachdem der Debugmodus aktiviert wurde, erstellen Sie den Datenfluss mit einem aktiven Spark-Cluster. Der Spark-Cluster wird geschlossen, sobald das Debuggen deaktiviert ist. Sie haben die Wahl, welche Compute-Instanz Sie verwenden. Wenn Sie einen vorhandenen Debugcluster verwenden, wird die Startzeit verkürzt. Für komplexe oder parallele Workloads möchten Sie jedoch möglicherweise Ihren eigenen Just-in-Time-Cluster starten.

Bewährte Methoden für das Debuggen von Datenflüssen bestehen darin, den Debugmodus aktiviert zu lassen und die im Datenfluss enthaltene Geschäftslogik zu prüfen und zu validieren. Die visuelle Darstellung der Datentransformationen und -formen hilft Ihnen, die Änderungen zu erkennen.

Wenn Sie den Datenfluss in einer von Ihnen erstellten Pipeline testen möchten, verwenden Sie am besten die Schaltfläche Debuggen im Pipelinepanel. Während bei der Datenvorschau keine Daten geschrieben werden, werden Daten bei einer Debugausführung innerhalb Ihres Datenflusses, genau wie beim Debuggen einer Pipeline, an Ihr Senkenziel geschrieben.

Debug-Einstellungen

Wie bereits erwähnt, wird jede Debugsitzung, die über die Azure Data Factory-Benutzeroberfläche gestartet wird, als neue Sitzung mit eigenem Spark-Cluster betrachtet. Sie können Sitzungen mithilfe der Überwachungsansicht der Debugsitzung überwachen, um Debugsitzungen für die jeweils eingerichtete Data Factory-Instanz zu verwalten.

Um festzustellen, ob ein Spark-Cluster für das Debuggen bereit ist, können Sie die Clusterstatusanzeige oben in der Entwurfsoberfläche überprüfen. Wenn sie grün ist, ist der Cluster bereit. Wenn der Cluster nicht ausgeführt wurde, als Sie den Debugmodus aufgerufen haben, kann die Wartezeit etwa fünf bis sieben Minuten betragen, da die Cluster gestartet werden müssen.

Es ist eine bewährte Methode, den Debugmodus nach dem Debugging zu deaktivieren, damit der Spark-Cluster beendet wird.

Beim Debuggen können Sie die Vorschau der Daten in einem Datenfluss bearbeiten, indem Sie auf Debugeinstellung klicken. Beispiele für die Änderung der Datenvorschau könnten ein Zeilengrenzwert oder eine Dateiquelle sein, falls Sie Quelltransformationen verwenden. Wenn Sie den verknüpften Stagingdienst auswählen, können Sie Azure Synapse Analytics als Quelle verwenden.

Wenn in Ihrem Datenfluss oder in einem der referenzierten Datasets Parameter enthalten sind, können Sie angeben, welche Werte beim Debuggen verwendet werden sollen, indem Sie die Registerkarte Parameter auswählen. Senken sind während des Debuggings nicht erforderlich und werden im Datenfluss ignoriert. Wenn Sie die transformierten Daten testen und in Ihre Senke schreiben möchten, können Sie den Datenfluss aus einer Pipeline ausführen und die Debugausführung aus der Pipeline verwenden.

Wie bereits erwähnt, ist es in Azure Data Factory möglich, nur bis zu einem bestimmten Punkt oder einer Aktivität zu debuggen. Sie können z. B. einen Haltepunkt bei der Aktivität festlegen, bis zu der Sie testen möchten, und dann auf Debuggen klicken. Eine Option Debug Until wird als ein leerer roter Kreis in der oberen rechten Ecke des Elements angezeigt. Nachdem Sie die Option Debug Until ausgewählt haben, ändert sich der leere Kreis in einen ausgefüllten roten Kreis, um anzugeben, dass der Breakpoint aktiviert ist. Azure Data Factory sorgt dann dafür, dass der Test nur bis zu dieser Haltepunktaktivität in der Pipeline ausgeführt wird. Dieses Feature ist nützlich, wenn Sie nur einen Teil der Aktivitäten in einer Pipeline testen möchten.

In den meisten Szenarios reichen die Debugfeatures in Azure Data Factory aus. Mitunter ist es jedoch erforderlich, Änderungen an einer Pipeline in einer geklonten Sandboxumgebung zu testen. Ein Anwendungsfall wäre beispielsweise, wenn Sie testen möchten, wie sich Ihre parametrisierten ETL-Pipelines verhalten, wenn das Eintreffen einer Datei oder ein rollierendes Zeitfenster ausgelöst wird. In diesem Fall könnte das Klonen einer Sandboxumgebung besser geeignet sein.

Hinweis: Da Azure Data Factory hauptsächlich nur nach der Anzahl der Ausführungen abgerechnet wird, muss eine zweite Data Factory-Instanz nicht zu zusätzlichen Kosten führen.

Überwachen von Debugausführungen

Für die Überwachung von Debugausführungen können Sie die Registerkarte „Ausgabe“ prüfen. Dort finden Sie jedoch nur die letzte Ausführung in der Browsersitzung, da kein Verlauf angezeigt wird. Wenn Sie eine Übersicht über den Verlauf der Debugausführungen erhalten oder alle aktiven Debugausführungen anzeigen möchten, müssen Sie die Registerkarte Überwachen aufrufen.

Dabei ist zu beachten, dass der Azure Data Factory-Dienst den Verlauf von Debugausführungen nur für 15 Tage aufbewahrt. Die Überwachung der Debugsitzungen Ihres Datenflusses können Sie ebenfalls auf der Registerkarte Überwachung verfolgen.

Monitoring debug run Azure Data Factory