Überblick über Workflows in AWS Glue - AWS Glue

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überblick über Workflows in AWS Glue

In AWS Glue, können Sie Workflows verwenden, um komplexe ETL-Aktivitäten (Extrahieren, Transformieren und Laden) zu erstellen und zu visualisieren, an denen mehrere Crawler, Jobs und Trigger beteiligt sind. Jeder Workflow verwaltet die Ausführung und Überwachung aller zugehöriger Aufträge und Crawler. Wenn ein Workflow seine Komponenten ausführt, werden der Fortschritt und der Status der Ausführung aufgezeichnet. So erhalten Sie eine Übersicht über die Aufgabe und die Details der einzelnen Schritte. Das Tool AWS Glue Die Konsole bietet eine visuelle Darstellung eines Workflows als Diagramm.

Sie können einen Workflow aus einem erstellen AWS Glue Blueprint, oder Sie können einen Workflow manuell für eine Komponente nach der anderen erstellen, indem Sie den AWS Management Console oder den AWS Glue API verwenden. Weitere Informationen über Pläne finden Sie unter Überblick über Baupläne in AWS Glue.

Auslöser innerhalb von Workflows können Aufträge und Crawler starten sowie von Aufträgen und Crawlern aktiviert werden. Mithilfe von Auslösern können Sie große Ketten voneinander abhängiger Aufträge und Crawler erstellen. Zusätzlich zu Auslösern in einem Workflow, die Auftrags- und Crawler-Abhängigkeiten definieren, verfügt jeder Workflow über einen Startauslöser. Es gibt drei Arten von Startauslösern:

  • Zeitplan – Der Workflow wird entsprechend einem von Ihnen festgelegten Zeitplan gestartet. Der Start kann z. B. täglich, wöchentlich oder monatlich erfolgen, der Zeitplan kann aber auch benutzerdefiniert sein und auf einem cron-Ausdruck basieren.

  • Bei Bedarf — Der Workflow wird manuell von der AWS Glue Konsole, API oder AWS CLI.

  • EventBridge Ereignis — Der Workflow wird beim Eintreten eines einzelnen EventBridge Amazon-Ereignisses oder einer Reihe von EventBridge Amazon-Ereignissen gestartet. Mit diesem Triggertyp AWS Glue kann in einer ereignisgesteuerten Architektur ein Ereigniskonsument sein. Jeder EventBridge Ereignistyp kann einen Workflow starten. Ein häufiger Anwendungsfall ist die Ankunft eines neuen Objekts in einem Amazon-S3-Bucket (der S3-Vorgang PutObject).

    Der Start eines Workflows mit einem Batch von Ereignissen impliziert, dass gewartet wird, bis eine bestimmte Anzahl von Ereignissen empfangen wurde oder bis eine bestimmte Zeitspanne verstrichen ist. Wenn Sie den EventBridge Ereignisauslöser erstellen, können Sie optional Batch-Bedingungen angeben. Wenn Sie Batchbedingungen angeben, müssen Sie die Batchgröße (Anzahl der Ereignisse) und optional ein Batchfenster (Anzahl der Sekunden) angeben. Das standardmäßige und maximale Batchfenster beträgt 900 Sekunden (15 Minuten). Die Batchbedingung, die zuerst erfüllt ist, startet den Workflow. Das Batchfenster beginnt, wenn das erste Ereignis eintrifft. Wenn Sie beim Erstellen eines Auslösers keine Batchbedingungen angeben, wird die Batchgröße standardmäßig auf 1 gesetzt.

    Beim Start des Workflows werden die Batchbedingungen zurückgesetzt und der Ereignisauslöser beginnt zu überwachen, ob die nächste Batchbedingung für den erneuten Start des Workflows erfüllt ist.

    In der folgenden Tabelle wird gezeigt, wie Batchgröße und Batchfenster bei der Auslösung eines Workflows zusammenarbeiten.

    Batchgröße Batchfenster Resultierende Auslösebedingung
    10 Der Workflow wird beim Eintreffen von 10 EventBridge Ereignissen oder 15 Minuten nach dem Eintreffen des ersten Ereignisses ausgelöst, je nachdem, was zuerst eintritt. (Wenn die Fenstergröße nicht angegeben wurde, ist die Standardeinstellung 15 Minuten.)
    10 2 Minuten Der Workflow wird beim Eintreffen von 10 EventBridge Ereignissen oder 2 Minuten nach dem Eintreffen des ersten Ereignisses ausgelöst, je nachdem, was zuerst eintritt.
    1 Der Workflow wird beim Eintreffen des ersten Ereignisses ausgelöst. Die Fenstergröße ist irrelevant. Die Batchgröße ist standardmäßig auf 1 festgelegt, wenn Sie bei der Erstellung des EventBridge Ereignisauslösers keine Batchbedingungen angeben.

    Die GetWorkflowRun-API-Operation gibt die Batchbedingung zurück, die den Workflow ausgelöst hat.

Unabhängig davon, wie ein Workflow gestartet wird, können Sie beim Erstellen des Workflows die maximale Anzahl gleichzeitiger Workflow-Ausführungen angeben.

Wenn ein Ereignis oder ein Batch von Ereignissen eine Workflow-Ausführung startet, die fehlschlägt, wird dieses Ereignis oder dieser Batch von Ereignissen nicht mehr für den Start einer Workflow-Ausführung berücksichtigt. Eine neue Workflow-Ausführung wird erst gestartet, wenn das nächste Ereignis oder der nächste Batch von Ereignissen eintrifft.

Wichtig

Beschränken Sie die Gesamtzahl der Aufträge, Crawler und Trigger innerhalb eines Workflows auf 100 oder weniger. Wenn Sie mehr als 100 einschließen, werden möglicherweise Fehler angezeigt, wenn Sie versuchen, Workflow-Läufe fortzusetzen oder zu beenden.

Eine Workflow-Ausführung wird nicht gestartet, wenn sie das für den Workflow festgelegte Parallelitätslimit überschreitet – auch wenn die Ereignisbedingung erfüllt ist. Es ist ratsam, die Grenzwerte für die Workflow-Parallelität an das erwartete Ereignisvolumen anzupassen. AWS Glue wiederholt keine Workflow-Läufe, die aufgrund einer Überschreitung der Parallelitätslimits fehlschlagen. Ebenso empfiehlt es sich, Parallelitätslimits für Aufträge und Crawler innerhalb von Workflows je nach dem erwarteten Ereignisvolumen anzupassen.

Eigenschaften von Workflow-Ausführungen

Zum Freigeben und Verwalten des Zustands während der Ausführung eines Workflows können Sie Standard-Ausführungseigenschaften für den Workflow definieren. Bei diesen Eigenschaften handelt es sich um Name/Wert-Paare, die für alle Aufträge im Workflow verfügbar sind. Mithilfe von können Jobs die AWS Glue API Eigenschaften der Workflow-Ausführung abrufen und sie für Jobs ändern, die später im Workflow erscheinen.

Workflow-Diagramm

Die folgende Abbildung zeigt das Diagramm eines sehr einfachen Workflows auf der AWS Glue console. Ein Workflow kann Dutzende von Komponenten umfassen.

Konsolen-Screenshot mit der Registerkarte „Graph (Diagramm)“ für einen Workflow. Das Diagramm enthält fünf Symbole, die einen Zeitplanauslöser, zwei Aufträge, einen Auslöser bei einem erfolgreichen Ereignis sowie einen Crawler darstellen, der das Schema aktualisiert.

Dieser Workflow wird von einem Zeitplanauslöser (Month-close1) gestartet, der zwei Aufträge startet, De-duplicate und Fix phone numbers. Nach erfolgreichem Abschluss beider Aufträge startet ein Ereignisauslöser (Fix/De-dupe succeeded) einen Crawler (Update schema).

Statische und dynamische Workflow-Ansichten

Für jeden Workflow gibt es eine statische und eine dynamische Ansicht. Die statische Ansicht zeigt die Struktur des Workflows. Die dynamische Ansicht ist eine Laufzeitansicht, die die aktuellen Ausführungsinformationen für alle Aufträge und Crawler enthält. Zu Ausführungsinformationen gehören zu Erfolgsstatus und Fehlerdetails.

Während ein Workflow ausgeführt wird, wird in der Konsole die dynamische Ansicht angezeigt. Diese stellt die abgeschlossenen und noch ausstehenden Aufträge grafisch dar. Sie können auch mit der AWS Glue API eine dynamische Ansicht eines aktiven Workflows abrufen. Weitere Informationen finden Sie unter Abfragen von Workflows mit dem AWS Glue API.