Per configurare ed eseguire un flusso di lavoro:
- Crea un modello di flusso di lavoro
- Configura un cluster gestito (temporaneo) o seleziona un cluster esistente
- Aggiungi job
- Crea un'istanza del modello per eseguire il flusso di lavoro
Crea un modello
Gcloud CLI
Esegui il seguente command per creare una risorsa del modello di flusso di lavoro Dataproc.
gcloud dataproc workflow-templates create TEMPLATE_ID \ --region=REGION
Note:
- REGION: specifica la regione in cui verrà eseguito il modello.
- TEMPLATE_ID: fornisci un ID per il modello, ad esempio "workflow-template-1".
- Crittografia CMEK. Puoi aggiungere il --kms-key flag per utilizzare la crittografia CMEK negli argomenti dei job del modello di flusso di lavoro.
API REST
Invia un WorkflowTemplate come parte di una workflowTemplates.create. Puoi aggiungere il WorkflowTemplate.EncryptionConfig.kmsKey per utilizzare la crittografia CMEK negli argomenti dei job del modello di flusso di lavoro. kmsKey
Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da la pagina **Flussi di lavoro** di Dataproc nella Google Cloud console.
Configura o seleziona un cluster
Dataproc può creare e utilizzare un nuovo cluster "gestito" per il flusso di lavoro o un cluster esistente.
Cluster esistente: consulta Utilizzare i selettori di cluster con i flussi di lavoro per selezionare un cluster esistente per il flusso di lavoro.
Cluster gestito: devi configurare un cluster gestito per il flusso di lavoro. Dataproc creerà questo nuovo cluster per eseguire i job del flusso di lavoro, quindi lo eliminerà al termine del flusso di lavoro.
Puoi configurare un cluster gestito per il flusso di lavoro utilizzando lo strumento a riga di comando
gcloudo l'API Dataproc.Google Cloud CLI
Utilizza i flag ereditati da gcloud dataproc cluster create per configurare il cluster gestito, ad esempio il numero di worker e il tipo di macchina master e worker. Dataproc aggiungerà un suffisso al nome del cluster per garantirne l'unicità. Puoi utilizzare il
--service-accountflag per specificare un service account VM per il cluster gestito.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 --service-account=SERVICE_ACCOUNT
API REST
Consulta WorkflowTemplatePlacement.ManagedCluster, che puoi fornire come parte di un WorkflowTemplate completato inviato con una richiesta workflowTemplates.create o workflowTemplates.update.
Puoi utilizzare il
GceClusterConfig.serviceAccountcampo per specificare un service account VM per il cluster gestito.Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da lla pagina **Flussi di lavoro** di Dataproc ne Google Cloud lla console.
Aggiungi job a un template
Tutti i job vengono eseguiti contemporaneamente, a meno che non specifichi una o più dipendenze dei job. Le dipendenze di un job vengono espresse come un elenco di altri job che devono essere completati correttamente prima che il job finale possa essere avviato. Devi fornire un step-id per ogni job. L'ID deve essere univoco all'interno del flusso di lavoro, ma non deve essere univoco a livello globale.
Gcloud CLI
Utilizza il tipo di job e i flag ereditati da
gcloud dataproc jobs submit
per definire il job da aggiungere al modello. Facoltativamente, puoi utilizzare il
‑‑start-after job-id of another workflow job
flag per avviare il job dopo il completamento di uno o più altri job
nel flusso di lavoro.
--max-failures-per-hour
Esempi:
Aggiungi il job Hadoop "foo" al modello "my-workflow".
gcloud dataproc workflow-templates add-job hadoop \ --region=REGION \ --step-id=foo \ --workflow-template=my-workflow \ -- space separated job args
Aggiungi il job "bar" al modello "my-workflow", che verrà eseguito dopo il completamento corretto del job del flusso di lavoro "foo".
gcloud dataproc workflow-templates add-job JOB_TYPE \ --region=REGION \ --step-id=bar \ --start-after=foo \ --workflow-template=my-workflow \ -- space separated job args
Aggiungi un altro job "baz" al modello "my-workflow" da eseguire dopo il completamento corretto dei job "foo" e "bar".
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
API REST
Consulta WorkflowTemplate.OrderedJob. Questo campo viene fornito come parte di un WorkflowTemplatecompletato inviato con una workflowTemplates.create o workflowTemplates.update.
Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da lla pagina **Flussi di lavoro** di Dataproc ne Google Cloud lla console.
Esegui workflow
La creazione dell'istanza di un modello di flusso di lavoro esegue il flusso di lavoro definito dal modello. Sono supportate più creazioni di istanze di un modello: puoi eseguire un flusso di lavoro più volte.
Comando g-cloud
gcloud dataproc workflow-templates instantiate TEMPLATE_ID \ --region=REGION
Il comando restituisce un ID operazione, che puoi utilizzare per monitorare lo stato del flusso di lavoro.
Esempio di comando e output: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
API REST
Consulta workflowTemplates.instantiate.Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da lla pagina **Flussi di lavoro** di Dataproc ne Google Cloud lla console.
Errori dei job del flusso di lavoro
Un errore in un job di un flusso di lavoro causerà l'errore del flusso di lavoro. Dataproc cercherà di mitigare l'effetto degli errori causando l'errore di tutti i job in esecuzione contemporaneamente e impedendo l'avvio dei job successivi.
Monitora ed elenca un flusso di lavoro
Gcloud CLI
Per monitorare un flusso di lavoro:
gcloud dataproc operations describe OPERATION_ID \ --region=REGION
Nota: l'ID operazione viene restituito quando crei l'istanza del flusso di lavoro
con gcloud dataproc workflow-templates instantiate (vedi
Esegui un flusso di lavoro).
Per elencare lo stato del flusso di lavoro:
gcloud dataproc operations list \ --region=REGION \ --filter="labels.goog-dataproc-operation-type=WORKFLOW AND status.state=RUNNING"
API REST
Per monitorare un flusso di lavoro, utilizza l'API Dataproc operations.get.
Per elencare i flussi di lavoro in esecuzione, utilizza l'API Dataproc operations.list con un filtro di etichette.
Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da lla pagina **Flussi di lavoro** di Dataproc ne Google Cloud lla console.
Termina un flusso di lavoro
Puoi terminare un flusso di lavoro utilizzando Google Cloud CLI o chiamando l'API Dataproc.
Comando g-cloud
gcloud dataproc operations cancel OPERATION_ID \ --region=REGION
gcloud dataproc workflow-templates instantiate (vedi
Esegui un flusso di lavoro).
API REST
Consulta l'operations.cancel API.
Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da lla pagina **Flussi di lavoro** di Dataproc ne Google Cloud lla console.
Aggiorna un modello di flusso di lavoro
Gli aggiornamenti non influiscono sui flussi di lavoro in esecuzione. La nuova versione del modello verrà applicata solo ai nuovi flussi di lavoro.
Gcloud CLI
I modelli di flusso di lavoro possono essere aggiornati emettendo nuovi gcloud workflow-templates
comandi che fanno riferimento a un ID modello di flusso di lavoro esistente:
API REST
Per apportare un aggiornamento a un modello con l'API REST:
- Chiama workflowTemplates.get, che restituisce il modello corrente con il campo
versioncompilato con la versione corrente del server. - Apporta aggiornamenti al modello recuperato.
- Chiama workflowTemplates.update con il modello aggiornato.
Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da lla pagina **Flussi di lavoro** di Dataproc ne Google Cloud lla console.
Elimina un modello di flusso di lavoro
Gcloud CLI
gcloud dataproc workflow-templates delete TEMPLATE_ID \ --region=REGION
Nota: l'ID operazione viene restituito quando crei l'istanza del flusso di lavoro
con gcloud dataproc workflow-templates instantiate (vedi
Esegui un flusso di lavoro).
API REST
Consulta workflowTemplates.delete.Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro con istanze create da lla pagina **Flussi di lavoro** di Dataproc ne Google Cloud lla console.