Panoramica dei modelli di flusso di lavoro Dataproc

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:

  1. definisci i parametri nel modello,

  2. 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:

    1. la creazione del cluster
    2. invio di offerte di lavoro
    3. polling
    4. 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.