Puoi definire un modello di workflow in un file YAML, quindi istanziarlo per eseguire il workflow. Puoi anche importare ed esportare un file YAML del modello di workflow per creare e aggiornare una risorsa del modello di workflow Managed Service for Apache Spark.
Esegui un flusso di lavoro utilizzando un file YAML
Per eseguire un flusso di lavoro senza prima creare una risorsa modello di workflow, utilizza il comando gcloud dataproc workflow-templates instantiate-from-file.
- Definisci il modello di flusso di lavoro in un file YAML. WorkflowTemplate obbligatori, ad eccezione del campo
id, e deve escludere anche il campoversione tutti i campi di sola output. Nell'esempio di workflow seguente, l'elencoprerequisiteStepIdsnel passaggioterasortgarantisce che il passaggioterasortinizi solo dopo il completamento del passaggioteragen.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 - Esegui il workflow:
gcloud dataproc workflow-templates instantiate-from-file \ --file=TEMPLATE_YAML \ --region=REGION
Istanziare un flusso di lavoro utilizzando un file YAML con il posizionamento automatico delle zone di Managed Service for Apache Spark
- Definisci il modello di flusso di lavoro in un file YAML. Questo file YAML è uguale al
file YAML precedente, tranne per il fatto che il campo
zoneUriè impostato sulla stringa vuota ('') per consentire a Managed Service for Apache Spark di selezionare la zona per il cluster tramite il posizionamento automatico delle zone.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: '' - Esegui il workflow. Quando utilizzi il posizionamento automatico, devi trasmettere una
regione
al comando
gcloud.gcloud dataproc workflow-templates instantiate-from-file \ --file=TEMPLATE_YAML \ --region=REGION
Importare ed esportare un file YAML del modello di workflow
Puoi importare ed esportare file YAML di modelli di workflow. In genere, un modello di workflow viene prima esportato come file YAML, poi il file YAML viene modificato e infine viene importato per aggiornare il modello.
Esporta il modello di workflow in un file YAML. Durante l'operazione di esportazione, i campi
ideversione tutti i campi di sola visualizzazione vengono filtrati dall'output e non vengono visualizzati nel file YAML esportato. Puoi trasmettere al comando il WorkflowTemplategcloud dataproc workflow-templates export TEMPLATE_ID or TEMPLATE_NAME \ --destination=TEMPLATE_YAML \ --region=REGION
ido la risorsa modello completaname("projects/PROJECT_ID/regions/REGION/workflowTemplates/TEMPLATE_ID").Modifica il file YAML in locale. Tieni presente che i campi
id,versione di sola output, che sono stati filtrati dal file YAML durante l'esportazione del modello, non sono consentiti nel file YAML importato.Importa il file YAML del modello di flusso di lavoro aggiornato:
Puoi trasmettere al comando il WorkflowTemplategcloud dataproc workflow-templates import TEMPLATE_ID or TEMPLATE_NAME \ --source=TEMPLATE_YAML \ --region=REGION
ido la risorsa modello completaname("projects/PROJECT_ID/regions/region/workflowTemplates/TEMPLATE_ID"). La risorsa modello con lo stesso nome verrà sovrascritta (aggiornata) e il relativo numero di versione verrà incrementato. Se non esiste un modello con lo stesso nome, verrà creato.