So richten Sie einen Workflow ein und führen ihn aus:
- Erstellen Sie eine Workflow-Vorlage.
- Konfigurieren Sie einen verwalteten (sitzungsspezifischen) Cluster oder wählen Sie einen vorhandenen Cluster aus.
- Fügen Sie Jobs hinzu.
- Instanziieren Sie die Vorlage zum Ausführen des Workflows.
Vorlagen erstellen
gcloud-Befehl
Führen Sie den folgenden command
aus, um eine Dataproc-Workflow-Vorlagenressource zu erstellen.
gcloud dataproc workflow-templates create TEMPLATE_ID \ --region=REGION
Hinweise:
- REGION: Geben Sie die Region an, in der die Vorlage ausgeführt wird.
- TEMPLATE_ID: Geben Sie eine ID für die Vorlage an, z. B. „workflow-template-1“.
- CMEK-Verschlüsselung. Sie können das Flag --kms-key hinzufügen, um die CMEK-Verschlüsselung für Jobargumente von Workflow-Vorlagen zu verwenden.
REST API
Senden Sie ein WorkflowTemplate im Rahmen einer workflowTemplates.create-Anfrage. Sie können das Feld WorkflowTemplate.EncryptionConfig.kmsKey hinzufügen, um die CMEK-Verschlüsselung für Jobargumente von Workflow-Vorlagen zu verwenden. kmsKey
Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.
Cluster konfigurieren oder auswählen
Dataproc kann einen neuen "verwalteten" Cluster für Ihren Workflow erstellen und verwenden oder einen vorhandenen Cluster nutzen.
Vorhandener Cluster: Unter Clusterselektoren mit Workflows verwenden erfahren Sie, wie Sie einen vorhandenen Cluster für einen Workflow auswählen.
Verwalteter Cluster: Sie müssen einen verwalteten Cluster für Ihren Workflow konfigurieren. Dataproc erstellt diesen neuen Cluster, um Workflow-Jobs auszuführen, und löscht den Cluster am Ende des Workflows.
Sie können einen verwalteten Cluster für Ihren Workflow mit demgcloud
-Befehlszeilentool oder der Dataproc-API konfigurieren.gcloud-Befehl
Verwenden Sie Flags aus gcloud dataproc cluster create, um den verwalteten Cluster zu konfigurieren, z. B. die Anzahl der Worker sowie den Master- und Worker-Maschinentyp. Dataproc fügt dem Clusternamen ein Suffix hinzu, um Eindeutigkeit zu gewährleisten.
gcloud dataproc workflow-templates set-managed-cluster template-id \ --region=region \ --master-machine-type=machine-type \ --worker-machine-type=machine-type \ --num-workers=number \ --cluster-name=cluster-name
REST API
Informationen finden Sie unter WorkflowTemplatePlacement.ManagedCluster. Dieses Feld wird als Bestandteil einer abgeschlossenen WorkflowTemplate bereitgestellt, die mit einer workflowTemplates.create- oder workflowTemplates.update-Anfrage gesendet wird.
Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.
Jobs zu einer Vorlage hinzufügen
Alle Jobs werden gleichzeitig ausgeführt, es sei denn, Sie geben eine oder mehrere Jobabhängigkeiten an. Die Abhängigkeiten eines Jobs werden als eine Liste anderer Jobs ausgedrückt, die erfolgreich abgeschlossen sein müssen, bevor der letzte Job gestartet werden kann. Sie müssen für jeden Job eine step-id
angeben. Innerhalb des Workflows muss diese ID eindeutig sein, global gilt dies jedoch nicht.
gcloud-Befehl
Verwenden Sie den Jobtyp und die Flags aus gcloud dataproc jobs submit, um den Job zu definieren, der der Vorlage hinzugefügt werden soll. Optional können Sie das Flag ‑‑start-after job-id of another workflow job
verwenden, damit der Job nach Abschluss eines oder mehrerer anderer Jobs im Workflow gestartet wird.
Beispiele:
Fügen Sie der Vorlage "my-workflow" den Hadoop-Job "foo" hinzu.
gcloud dataproc workflow-templates add-job hadoop \ --region=region \ --step-id=foo \ --workflow-template=my-workflow \ -- space separated job args
Fügen Sie der Vorlage "my-workflow" den Job "bar" hinzu. Dieser wird ausgeführt, nachdem der Workflow-Job "foo" erfolgreich abgeschlossen wurde.
gcloud dataproc workflow-templates add-job job-type \ --region=region \ --step-id=bar \ --start-after=foo \ --workflow-template=my-workflow \ -- space separated job args
Fügen Sie der Vorlage "my-workflow" einen weiteren Job "baz" hinzu. Dieser wird ausgeführt, nachdem die beiden Jobs "foo" und "bar" erfolgreich abgeschlossen wurden.
gcloud dataproc workflow-templates add-job job-type \ --region=region \ --step-id=baz \ --start-after=foo,bar \ --workflow-template=my-workflow \ -- space separated job args
REST API
Informationen finden Sie unter WorkflowTemplate.OrderedJob. Dieses Feld wird als Bestandteil einer abgeschlossenen WorkflowTemplate bereitgestellt, die mit einer workflowTemplates.create- oder workflowTemplates.update-Anfrage gesendet wird.
Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.
Workflows ausführen
Die Instanziierung einer Workflow-Vorlage führt den durch die Vorlage definierten Workflow aus. Es werden mehrere Instanziierungen einer Vorlage unterstützt – Sie können einen Workflow mehrmals ausführen.
gcloud-Befehl
gcloud dataproc workflow-templates instantiate template-id \ --region=region
Der Befehl liefert eine Vorgangs-ID, mit der Sie den Workflow-Status verfolgen können.
Beispiel für Befehl und Ausgabe:gcloud beta dataproc workflow-templates instantiate my-template-id \ --region=us-central1 ... WorkflowTemplate [my-template-id] RUNNING ... Created cluster: my-template-id-rg544az7mpbfa. Job ID teragen-rg544az7mpbfa RUNNING Job ID teragen-rg544az7mpbfa COMPLETED Job ID terasort-rg544az7mpbfa RUNNING Job ID terasort-rg544az7mpbfa COMPLETED Job ID teravalidate-rg544az7mpbfa RUNNING Job ID teravalidate-rg544az7mpbfa COMPLETED ... Deleted cluster: my-template-id-rg544az7mpbfa. WorkflowTemplate [my-template-id] DONE
REST API
Weitere Informationen finden Sie unter workflowTemplates.instantiate.Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.
Fehler in Workflow-Jobs
Bei einem Fehler in einem Workflow-Job schlägt der Workflow fehl. Dataproc versucht, die Auswirkungen von Fehlern zu mindern, indem alle gleichzeitig ausgeführten Jobs fehlschlagen und verhindert wird, dass nachfolgende Jobs gestartet werden.
Workflows überwachen und auflisten
gcloud-Befehl
So überwachen Sie einen Workflow:
gcloud dataproc operations describe operation-id \ --region=region
Hinweis:Die Vorgangs-ID wird zurückgegeben, wenn Sie den Workflow mit gcloud dataproc workflow-templates instantiate
instanziieren (siehe Workflow ausführen).
So listen Sie den Workflow-Status auf:
gcloud dataproc operations list \ --region=region \ --filter="labels.goog-dataproc-operation-type=WORKFLOW AND status.state=RUNNING"
REST API
Wenn Sie einen Workflow beobachten möchten, verwenden Sie die Dataproc API operations.get.
Wenn Sie ausgeführte Workflows auflisten möchten, verwenden Sie die Dataproc API operations.list mit einem Labelfilter.
Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.
Workflows beenden
Sie können einen Workflow über die Google Cloud CLI oder durch Aufrufen der Dataproc API beenden.
gcloud-Befehl
gcloud dataproc operations cancel operation-id \ --region=regionHinweis: Die Vorgangs-ID wird zurückgegeben, wenn Sie den Workflow mit
gcloud dataproc workflow-templates instantiate
instanziieren (siehe Workflow ausführen).
REST API
Weitere Informationen finden Sie unter der API operations.cancel.
Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.
Workflow-Vorlagen aktualisieren
Aktualisierungen wirken sich nicht auf laufende Workflows aus. Die neue Vorlagenversion gilt nur für neue Workflows.
gcloud-Befehl
Workflow-Vorlagen können durch die Ausgabe neuer gcloud workflow-templates
-Befehle aktualisiert werden, die auf eine vorhandene Workflow-Vorlagen-ID verweisen:
REST API
So aktualisieren Sie eine Vorlage mit der REST API:
- Rufen Sie workflowTemplates.get auf, das die aktuelle Vorlage mit der aktuellen Serverversion im Feld
version
zurückgibt. - Aktualisieren Sie die abgerufene Vorlage.
- Rufen Sie workflowTemplates.updatemit der aktualisierten Vorlage auf.
Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.
Workflow-Vorlagen löschen
gcloud-Befehl
gcloud dataproc workflow-templates delete template-id \ --region=region
Hinweis: Die Vorgangs-ID wird zurückgegeben, wenn Sie den Workflow mit gcloud dataproc workflow-templates instantiate
instanziieren (siehe Workflow ausführen).
REST API
Weitere Informationen finden Sie unter workflowTemplates.delete.Console
Sie können vorhandene Workflow-Vorlagen und instanziierte Workflows in der Google Cloud Console auf der Dataproc-Seite Workflows aufrufen.