Puoi configurare ed eseguire un flusso di lavoro:
- Creare un modello di flusso di lavoro
- Configurazione di un cluster gestito (temporaneo) o selezione di un cluster esistente
- Aggiunta di job
- Creazione dell'istanza del modello per l'esecuzione del flusso di lavoro
Creazione di un modello
Comando gcloud
Esegui il comando command
seguente per creare una risorsa del modello di flusso di lavoro Dataproc.
gcloud dataproc workflow-templates create template-id (such as "my-workflow") \ --region=region
API REST
Vedi workflowTemplates.create. Un WorkflowTemplate completato viene inviato con una richiesta workflowTemplates.create.
console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.
Configurazione o selezione di un cluster
Dataproc può creare un nuovo cluster "gestito" per il tuo flusso di lavoro o per un cluster esistente.
Cluster esistente: consulta la pagina relativa all'uso dei selettori dei cluster con 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 eliminerà il cluster alla fine del flusso di lavoro.
Puoi configurare un cluster gestito per il tuo flusso di lavoro utilizzando lo strumento a riga di comandogcloud
o l'API Dataproc.Comando gcloud
Utilizza i flag ereditati da gcloud dataproc cluster create per configurare il cluster gestito (numero di worker, tipo di macchina master/worker e così via). Dataproc aggiungerà un suffisso al nome del cluster per garantire l'unicità.
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
API REST
Vedi WorkflowTemplatePosizionamento.ManagedCluster. Questo campo viene fornito come parte di una richiesta WorkflowTemplate completata e inviata con una richiesta workflowTemplates.create o workflowTemplates.update.
console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.
Aggiunta di job a un modello
Tutti i job vengono eseguiti contemporaneamente a meno che non specifichi una o più dipendenze dei job. Le dipendenze di un lavoro sono espresse come elenco di altri job che devono essere completati correttamente prima che il job finale possa iniziare. 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.
Comando gcloud
Utilizza il tipo di job e i flag ereditati da
gcloud dataprocJob send
per definire il job da aggiungere al modello. Facoltativamente, puoi utilizzare il flag ‑‑start-after job-id of another workflow job
per avviare il job dopo il completamento di uno o più altri job nel flusso di lavoro.
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 job "bar" al modello "my-workflow", che verrà eseguito dopo il completamento 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 modello "baz" al modello "my-workflow" da eseguire dopo il completamento con successo 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
Vedi WorkflowTemplate.OrderedJob. Questo campo viene fornito come parte di una richiesta WorkflowTemplate completata e inviata con una richiesta workflowTemplates.create o workflowTemplates.update.
console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.
Esecuzione di un flusso di lavoro
L'istanza di un modello di flusso di lavoro esegue il flusso di lavoro definito dal modello. Sono supportate più istanze di un modello, quindi puoi eseguire un flusso di lavoro più volte.
Comando gcloud
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:gcloud beta dataproc workflow-templates instantiate my-template-id \ --region=region ... 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
Vedi workflowTemplates.instantiate.console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.
Errori del job del flusso di lavoro
Un errore in qualsiasi job in un flusso di lavoro comporterà la mancata riuscita del flusso di lavoro. Dataproc tenterà di mitigare l'effetto degli errori causando il fallimento di tutti i job in esecuzione contemporaneamente e impedendo l'avvio dei job successivi.
Monitoraggio ed elenco di un flusso di lavoro
Comando gcloud
Per monitorare un flusso di lavoro:
gcloud dataproc operations describe operation-id \ --region=region
Nota: l'ID operazione viene restituito quando crei un'istanza del flusso di lavoro con gcloud dataproc workflow-templates instantiate
(vedi Esecuzione di 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 operazioni.get.
Per elencare i flussi di lavoro in esecuzione, utilizza l'API Dataproc operazioni.list con un filtro di etichetta.
console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.
Terminare un flusso di lavoro
Puoi terminare un flusso di lavoro utilizzando Google Cloud CLI o chiamando l'API Dataproc.
Comando gcloud
gcloud dataproc operations cancel operation-id \ --region=regionNota: l'ID operazione restituito quando crei un'istanza del flusso di lavoro con
gcloud dataproc workflow-templates instantiate
(vedi Esecuzione di un flusso di lavoro).
API REST
Consulta l'API operations.cancel.
console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.
Aggiornamento di 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.
Comando gcloud
I modelli di flusso di lavoro possono essere aggiornati inviando nuovi comandi gcloud workflow-templates
che fanno riferimento a un ID modello di flusso di lavoro esistente:
API REST
Per aggiornare un modello con l'API REST:
- Richiama workflowTemplates.get, che restituisce il modello corrente con il campo
version
compilato con la versione corrente del server. - Aggiorna il modello recuperato.
- Chiama workflowTemplates.update con il modello aggiornato.
console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.
Eliminazione di un modello di flusso di lavoro
Comando gcloud
gcloud dataproc workflow-templates delete template-id \ --region=region
Nota: l'ID operazione restituito quando crei un'istanza del flusso di lavoro con gcloud dataproc workflow-templates instantiate
(vedi Esecuzione di un flusso di lavoro).
API REST
Vedi workflowTemplates.delete.console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro istantanei dalla pagina Flussi di lavoro di Dataproc in Google Cloud Console.