Debuggen von Data Factory-Pipelines
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 müssen keine Änderungen in der Pipeline oder den Aktivitäten veröffentlicht werden, bevor Sie mit dem Debuggen beginnen. 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
Wenn Sie eine pipeline erstellen oder ändern, die ausgeführt wird, können Sie die Ergebnisse jeder Aktivität auf der Registerkarte "Ausgabe" des Pipeline-Canvas anzeigen.
Nachdem eine Testausführung erfolgreich ausgeführt wurde und Sie mit den Ergebnissen zufrieden sind, können Sie der Pipeline weitere Aktivitäten hinzufügen und das Debuggen auf iterative Weise fortsetzen. Wenn Sie nicht zufrieden sind oder das Debuggen der Pipeline beenden möchten, haben Sie die Möglichkeit, einen Testlauf abzubrechen, 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 besteht darin, Testordner in Ihren Kopieraktivitäten und anderen Aktivitäten beim Debuggen zu verwenden, sodass Sie, wenn Sie mit den Ergebnissen zufrieden sind und die Pipeline gedebuggt haben, zu den tatsächlichen Ordnern für Ihre normalen Vorgänge wechseln.
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.
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.
Warten Sie, bis die Meldung über die erfolgreiche Veröffentlichung erscheint. Um Benachrichtigungen anzuzeigen, klicken Sie oben rechts im Portal auf Benachrichtigungen anzeigen (Glockensymbol).
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 verwenden, müssen Sie zuerst das Feature "Datenfluss Debuggen" aktivieren.
Die Debug-Sitzung kann sowohl in Datenfluss-Designsitzungen als auch während der Pipeline-Debug-Ausführung von Datenflüssen verwendet werden. Nachdem der Debugmodus aktiviert ist, erstellen Sie den Datenfluss tatsächlich mit einem aktiven Spark Cluster. Der Spark-Cluster wird geschlossen, sobald das Debuggen deaktiviert ist. Sie haben die Wahl, welche Rechenressourcen 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, empfiehlt es sich, die Schaltfläche " Debuggen " im Pipelinebereich zu verwenden. 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 es grün ist, ist es bereit. Wenn der Cluster nicht lief, als Sie in den Debugmodus eingetreten sind, kann die Wartezeit etwa 5 bis 7 Minuten betragen, weil die Cluster hochgefahren werden müssen.
Es ist eine bewährte Methode, dass Sie nach Abschluss des Debuggings den Debugmodus 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 einen unterstützten Datenspeicher als Stagingquelle angeben.
Wenn Sie Parameter in Ihrem Datenfluss oder einem der referenzierten Datasets haben, können Sie angeben, welche Werte beim Debuggen verwendet werden sollen, indem Sie die Registerkarte Parameter auswählen. Während des Debuggens sind Sinks 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 zuvor beschrieben, ist es innerhalb 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. Manchmal ist es jedoch erforderlich, Änderungen in einer Pipeline in einer geklonten Sandkastenumgebung 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.
Eine gute Information über Azure Data Factory ist, dass es hauptsächlich nach der Anzahl der Ausführungen abgerechnet wird. Eine zweite Data Factory führt nicht zwangsläufig zu zusätzlichen Kosten.
Überwachung von Debug-Prozessen
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.