L'API WorkflowTemplates di Dataproc offre un meccanismo flessibile e facile da usare per la gestione e l'esecuzione dei flussi di lavoro. Un modello di flusso di lavoro è una configurazione di flusso di lavoro riutilizzabile. Definisce un grafico di job con informazioni sul punto di esecuzione di questi job.
Punti chiave:
- La creazione di un'istanza di un modello di workflow
avvia un workflow. Un workflow è un'operazione che esegue un
grafo aciclico orientato (DAG, Directed Acyclic Graph)
di job in un cluster.
- Se il workflow utilizza un cluster gestito, crea il cluster, esegue i job e poi lo elimina al termine dei job.
- Se il flusso di lavoro utilizza un selettore di cluster, esegue i job su un cluster esistente selezionato.
- Workflows sono ideali per i flussi di job complessi. Puoi creare dipendenze tra i job in modo che un job inizi solo dopo che le sue dipendenze sono state completate correttamente.
- Quando crei un modello di workflow, Dataproc non crea un cluster né invia job a un cluster. Dataproc crea o seleziona un cluster ed esegue i job del workflow sul cluster quando viene creata un'istanza di un modello di workflow.
Tipi di modelli di workflow
Cluster gestito
Un modello di workflow può specificare un cluster gestito. Il workflow creerà un cluster "temporaneo" per eseguire i job del workflow, quindi lo eliminerà al termine del workflow.
Selettore di cluster
Un modello di flusso di lavoro può specificare un cluster esistente su cui eseguire i job del flusso di lavoro specificando una o più etichette utente precedentemente associate al cluster. Il flusso di lavoro verrà eseguito su un cluster che corrisponde a tutte le etichette. Se più cluster corrispondono a tutte le etichette, Dataproc seleziona il cluster con la massima quantità di memoria YARN disponibile per eseguire tutti i job del workflow. Al termine del flusso di lavoro, Dataproc non elimina il cluster selezionato. Per saperne di più, consulta Utilizzare i selettori di cluster con i flussi di lavoro.
Parametrizzato
Se esegui un modello di flusso di lavoro più volte con valori diversi, utilizza i parametri per evitare di modificare il modello di flusso di lavoro per ogni esecuzione:
definisci i parametri nel modello, poi
passa valori diversi per i parametri per ogni esecuzione.
Per ulteriori informazioni, consulta la sezione Parametrizzazione dei modelli di workflow.
In linea
Workflows possono essere istanziati inline utilizzando il comando gcloud
con file YAML del modello di workflow o chiamando l'API Dataproc InstantiateInline (vedi Utilizzo dei workflow Dataproc inline).
I workflow incorporati non creano né modificano le risorse del modello di workflow.
Casi d'uso del modello di workflow
Automazione di attività ripetitive. Workflows contengono configurazioni e job del cluster utilizzati di frequente.
Modello di interazione API transazionale fire-and-forget. I modelli di workflow sostituiscono i passaggi coinvolti in un flusso tipico, tra cui:
- creazione del cluster
- invio di job
- polling
- eliminazione del cluster
I modelli di flusso di lavoro utilizzano un singolo token per monitorare l'avanzamento dalla creazione all'eliminazione del cluster e automatizzare la gestione e il recupero degli errori. Semplificano anche l'integrazione di Dataproc con altri strumenti, come le funzioni Cloud Run e Cloud Composer.
Supporto per cluster effimeri e di lunga durata. Una difficoltà comune associata all'esecuzione di Apache Hadoop è la messa a punto e il dimensionamento corretto dei cluster. I cluster effimeri (gestiti) sono più facili da configurare perché eseguono un singolo workload. I selettori di cluster possono essere utilizzati con cluster di lunga durata per eseguire ripetutamente lo stesso workload senza sostenere il costo ammortizzato della creazione ed eliminazione dei cluster.
Sicurezza IAM granulare. La creazione di cluster Dataproc e l'invio di job richiedono autorizzazioni IAM tutto o niente. I modelli di workflow utilizzano un'autorizzazione workflowTemplates.instantiate per modello e non dipendono dalle autorizzazioni di cluster o job.