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 für eine Workflowvorlage importieren und exportieren, um eine Workflowvorlagen-Ressource für Managed Service for Apache Spark 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
identhalten. Sie darf außerdem nicht das Feldversionoder nur zur Ausgabe zulässige Felder enthalten. Im folgenden Workflow-Beispiel gewährleistet dieprerequisiteStepIds-Liste in Schrittterasort, dass Schrittterasortnur dann beginnt, wenn Schrittteragenerfolgreich 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 mit einer YAML-Datei mit Managed Service for Apache Spark Auto Zone Placement instanziieren
- Definieren Sie Ihre Workflow-Vorlage in einer YAML-Datei. Diese YAML-Datei ist mit der vorherigen YAML-Datei identisch, mit der Ausnahme, dass das Feld
zoneUriauf den leeren String ('') gesetzt ist, damit die automatische Zonenplatzierung von Managed Service for Apache Spark 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
idundversionsowie 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
idoder 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,versionund 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
idoder 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.