Sie können eine Workflow-Vorlage in einer YAML-Datei definieren und dann die Vorlage zur Ausführung des Workflows instanziieren. Sie können auch eine YAML-Datei der Workflow-Vorlage importieren und exportieren, um eine Dataproc-Workflow-Vorlagenressource zu erstellen und zu aktualisieren.
Workflow mit einer YAML-Datei ausführen
Verwenden Sie zum Ausführen eines Workflows, ohne zuerst eine Workflow-Vorlagenressource zu erstellen, den Befehl gcloud dataproc workflow-templates instantiate-from-file.
- Definieren Sie Ihre Workflow-Vorlage in einer YAML-Datei. Die YAML-Datei muss alle erforderlichen WorkflowTemplate-Felder außer das Feld
id
enthalten. Sie darf außerdem nicht das Feldversion
oder nur zur Ausgabe zulässige Felder enthalten. Im folgenden Workflow-Beispiel gewährleistet dieprerequisiteStepIds
-Liste in Schrittterasort
, dass Schrittterasort
nur dann beginnt, wenn Schrittteragen
erfolgreich abgeschlossen wurde.jobs: - hadoopJob: args: - teragen - '1000' - hdfs:///gen/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: teragen - hadoopJob: args: - terasort - hdfs:///gen/ - hdfs:///sort/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: terasort prerequisiteStepIds: - teragen placement: managedCluster: clusterName: my-managed-cluster config: gceClusterConfig: zoneUri: us-central1-a
- Workflow ausführen:
gcloud dataproc workflow-templates instantiate-from-file \ --file=TEMPLATE_YAML \ --region=REGION
Workflow mithilfe einer YAML-Datei mit automatischer Zonenplatzierung von Dataproc instantiieren
- Definieren Sie Ihre Workflow-Vorlage in einer YAML-Datei. Diese YAML-Datei ist die gleiche wie die vorherige YAML-Datei, außer dass das Feld
zoneUri
auf den leeren String ('') gesetzt ist, damit die automatische Zonenplatzierung von Dataproc die Zone für den Cluster auswählen kann.jobs: - hadoopJob: args: - teragen - '1000' - hdfs:///gen/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: teragen - hadoopJob: args: - terasort - hdfs:///gen/ - hdfs:///sort/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: terasort prerequisiteStepIds: - teragen placement: managedCluster: clusterName: my-managed-cluster config: gceClusterConfig: zoneUri: ''
- Führen Sie den Workflow aus. Wenn Sie die automatische Platzierung verwenden, müssen Sie eine Region an den Befehl
gcloud
übergeben.gcloud dataproc workflow-templates instantiate-from-file \ --file=TEMPLATE_YAML \ --region=REGION
YAML-Datei für Workflow-Vorlagen importieren und exportieren
Sie können YAML-Dateien für Workflow-Vorlagen importieren und exportieren. Üblicherweise wird eine Workflow-Vorlage zuerst als YAML-Datei exportiert. Dann wird die YAML-Datei bearbeitet und anschließend importiert, um die Vorlage zu aktualisieren.
Exportieren Sie die Workflow-Vorlage in eine YAML-Datei. Während des Exports werden die Felder
id
undversion
sowie alle nur zur Ausgabe zulässigen Felder aus der Ausgabe herausgefiltert und sind nicht in der exportierten YAML-Datei sichtbar. Sie können entweder die WorkflowTemplategcloud dataproc workflow-templates export TEMPLATE_ID or TEMPLATE_NAME \ --destination=TEMPLATE_YAML \ --region=REGION
id
oder die vollständig qualifizierte Vorlagenressourcename
("projects/PROJECT_ID/regions/REGION/workflowTemplates/TEMPLATE_ID") an den Befehl übergeben.YAML-Datei lokal bearbeiten Beachten Sie, dass die Felder
id
,version
und das nur zur Ausgabe zulässige Feld, die beim Exportieren der Vorlage aus der YAML-Datei herausgefiltert wurden, in der importierten YAML-Datei nicht zulässig sind.Importieren Sie die YAML-Datei der aktualisierten Workflow-Vorlage:
Sie können entweder die WorkflowTemplategcloud dataproc workflow-templates import TEMPLATE_ID or TEMPLATE_NAME \ --source=TEMPLATE_YAML \ --region=REGION
id
oder die vollständig qualifizierte Vorlagenressourcename
("projects/PROJECT_ID/regions/region/workflowTemplates/TEMPLATE_ID") an den Befehl übergeben. Die Vorlagenressource mit demselben Vorlagennamen wird überschrieben bzw. aktualisiert und die Versionsnummer wird erhöht. Wenn keine Vorlage mit demselben Vorlagennamen vorhanden ist, wird sie erstellt.