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:
- Creare istanze di un modello di flusso di lavoro
avvia un flusso di lavoro. Un flusso di lavoro è un'operazione che esegue
Grafo diretto aciclico (DAG)
di job su 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 job su un cluster esistente selezionato.
- Workflows 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 il flusso di lavoro specificando una o più etichette utente collegate in precedenza al cluster. Il flusso di lavoro verrà eseguito su che corrisponde a tutte le etichette. Se più cluster corrispondono tutte le etichette, Dataproc seleziona il cluster con Memoria YARN disponibile per eseguire tutti i job del flusso di lavoro. Al termine del flusso di lavoro, Dataproc non elimina il cluster selezionato. Consulta Utilizzare i selettori di cluster con i flussi di lavoro per ulteriori informazioni.
Con parametri
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,
trasmettano valori diversi per i parametri a 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 in linea non creano o modificano le risorse del modello 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 attiva e dimenticata per le transazioni. Modelli di flusso di lavoro sostituiscono i passaggi previsti da un flusso tipico, che includono:
- la creazione del cluster
- invio di offerte di lavoro
- polling
- 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. Inoltre, semplificano integrazione di Dataproc con altri strumenti come Cloud Functions e Cloud Composer.
Supporto di cluster temporanei e di lunga durata. Una complessità comune associati all'esecuzione di Apache Hadoop è l'ottimizzazione e il dimensionamento ottimale dei cluster. I cluster temporanei (gestiti) sono più facili da configurare poiché eseguono per un singolo carico di lavoro. I selettori di cluster possono essere utilizzati più lunghe per eseguire ripetutamente lo stesso carico di lavoro senza dover sostenere il costo ammortizzato della creazione e dell'eliminazione dei cluster.
Sicurezza IAM granulare. Creazione di cluster Dataproc l'invio di job richiede autorizzazioni IAM tutto o niente. I modelli di flusso di lavoro utilizzano un modello workflowTemplates.instantiate e non dipendono dalle autorizzazioni del cluster o del job.