L'API WorkflowTemplates di Dataproc offre una meccanismo flessibile e facile da usare per la gestione e l’esecuzione dei flussi di lavoro. R Il modello di flusso di lavoro è una configurazione di flusso di lavoro riutilizzabile. Definisce un grafo di con informazioni su dove eseguirli.
Punti chiave:
- La creazione di un'istanza di un modello di flusso di lavoro
avvia un flusso di lavoro. Un flusso di lavoro è un'operazione che esegue un
grafo aciclico diretto (DAG)
di job in un cluster.
- Se il flusso di lavoro utilizza un cluster gestito, crea il cluster, esegue i job, il cluster verrà poi eliminato al termine dei job.
- Se il flusso di lavoro utilizza un selettore di cluster, esegue i job su un cluster esistente selezionato.
- I flussi di lavoro sono ideali per flussi di lavoro complessi. Puoi creare dipendenze del job in modo che un job venga avviato solo dopo il corretto completamento delle sue dipendenze.
- Quando crei un modello di flusso di lavoro Dataproc non crea un cluster né invia job a un cluster. Dataproc crea o seleziona un cluster ed esegue job del flusso di lavoro nel cluster quando un modello di flusso di lavoro è verificato.
Tipi di modelli di flusso di lavoro
Cluster gestito
Un modello di flusso di lavoro può specificare un cluster gestito. Il flusso di lavoro creerà "temporaneo" per eseguire job del flusso di lavoro, quindi elimina il cluster quando flusso di lavoro completo.
Selettore di cluster
Un modello di flusso di lavoro può specificare un cluster esistente su cui eseguire i job del flusso di lavoro specificando uno 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 maggiore quantità di memoria YARN disponibile per eseguire tutti i job del flusso di lavoro. Al termine del flusso di lavoro, Dataproc non elimina il cluster selezionato. Per ulteriori informazioni, consulta Utilizzare i selettori di cluster con i flussi di lavoro.
Parametrizzato
Se eseguirai un modello di flusso di lavoro più volte con valori diversi, utilizza per evitare di modificare il modello di flusso di lavoro per ogni esecuzione:
definisci i parametri nel modello,
Passa valori diversi per i parametri per ogni esecuzione.
Consulta Parametrizzazione dei modelli di flusso di lavoro per ulteriori informazioni.
In linea
È possibile creare un'istanza di Workflows in linea utilizzando il comando gcloud
con
file YAML del modello di flusso di lavoro o chiamando Dataproc
InstantiateInline
(vedi Utilizzo dei flussi di lavoro Dataproc in linea).
I flussi di lavoro incorporati non creano né modificano le risorse dei modelli di flusso di lavoro.
Casi d'uso del modello di flusso di lavoro
Automazione di attività ripetitive. Workflows includono contenuti che vengono usati di frequente configurazioni e job del cluster.
Modello di interazione API transazionale "fire-and-forget". I modelli di flusso di lavoro sostituiscono i passaggi di un flusso di lavoro tipico, tra cui:
- creazione del cluster
- inviare i job
- polling
- l'eliminazione del cluster
I modelli di flusso di lavoro utilizzano un singolo token per monitorare l'avanzamento dalla creazione del cluster all'eliminazione e automatizzare la gestione e il ripristino degli errori. Semplificano inoltre l'integrazione di Dataproc con altri strumenti, come le funzioni Cloud Run e Cloud Composer.
Supporto di cluster temporanei e di lunga durata. Una complessità comune associata all'esecuzione di Apache Hadoop è l'ottimizzazione e la definizione della dimensione corretta dei cluster. I cluster effimeri (gestiti) sono più facili da configurare perché eseguono un singolo carico di lavoro. I selettori di cluster possono essere utilizzati con cluster di durata più lunga per eseguire ripetutamente lo stesso carico di lavoro 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 di tipo tutto o niente. I modelli di flusso di lavoro utilizzano un modello workflowTemplates.instantiate e non dipendono dalle autorizzazioni del cluster o del job.