Übersicht ü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.

Übersicht über Workflows in AWS Glue

In AWS Glue können Sie mit Workflows komplexe ETL-Aktivitäten (Extrahieren, Transformieren und Laden) mit mehreren Crawlern, Aufträgen und Auslösern erstellen und darstellen. 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. Die AWS Glue-Konsole bietet eine grafische Darstellung eines Workflows als Diagramm.

Sie können einen Workflow mit einem AWS Glue-Blueprint erstellen oder die einzelnen Workflow-Komponenten manuell mit der AWS Management Console oder der AWS Glue API entwickeln. Weitere Informationen über Pläne finden Sie unter Übersicht über Blueprints 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.

  • On Demand – Der Workflow wird manuell über die AWS Glue-Konsole, -API oder -AWS CLI gestartet.

  • EventBridge-Ereignis – Der Workflow wird beim Auftreten eines einzelnen Amazon-EventBridge-Ereignisses oder mehrerer Amazon-EventBridge-Ereignisse gestartet. Bei diesem Auslösertyp kann AWS Glue ein Ereigniskonsument in einer ereignisgesteuerten Architektur 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. Beim Erstellen des EventBridge-Ereignisauslösers können Sie optional Batchbedingungen 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. Wenn Sie beim Erstellen des EventBridge-Ereignisauslösers keine Batchbedingungen angeben, wird die Batchgröße standardmäßig auf 1 gesetzt.

    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. Sie sollten Workflow-Parallelitätslimits gemäß dem erwarteten Ereignisvolumen anpassen. Workflow-Ausführungen, die aufgrund von überschrittenen Parallelitätslimits fehlschlagen, werden von AWS Glue nicht erneut ausgeführt. 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 der AWS Glue API können Aufträge die Ausführungseigenschaften für einen Workflow abrufen und für Aufträge ändern, die zu einem späteren Zeitpunkt in diesem Workflow vorkommen.

Workflow-Diagramm

Die folgende Abbildung zeigt das Diagramm eines sehr einfachen Workflows in der AWS Glue-Konsole. 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 der AWS Glue API.