Panoramica dei modelli di flusso di lavoro Dataproc

L'API WorkflowTemplates di Dataproc offre un meccanismo flessibile e facile da usare per gestire ed eseguire i flussi di lavoro. Un modello di flusso di lavoro è una configurazione di flusso di lavoro riutilizzabile. Definisce un grafico di job con informazioni su dove eseguire questi job.

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 grafico diretto aciclico (DAG) di job su un cluster.
    • Se il flusso di lavoro utilizza un cluster gestito, crea il cluster, esegue i job, quindi elimina il cluster 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 flussi di lavoro complessi. Puoi creare dipendenze dei 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 di flusso di lavoro sul cluster quando un modello di flusso di lavoro è instarato.

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à un cluster "temporaneo" per eseguire job del flusso di lavoro, quindi eliminerà il cluster al termine del flusso di lavoro.

Selettore di cluster

Un modello di flusso di lavoro può specificare un cluster esistente su cui eseguire job di flusso di lavoro specificando una o più etichette utente precedentemente collegate 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 maggior 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.

Con parametri

Se eseguirai più volte un modello di flusso di lavoro con valori diversi, utilizza i parametri per evitare di modificare il modello di flusso di lavoro per ogni esecuzione:

  1. definisci i parametri nel modello, poi

  2. trasmettere valori diversi ai parametri per ogni esecuzione.

Per ulteriori informazioni, consulta Parametrizzazione dei modelli di flusso di lavoro.

In linea

Puoi creare un'istanza Workflows in linea utilizzando il comando gcloud con i file YAML del modello di flusso di lavoro o chiamando l'API Dataproc InstantiateInline (consulta la pagina relativa all'utilizzo dei flussi di lavoro di Dataproc in linea). I flussi di lavoro in linea non creano né modificano le risorse dei modelli.

Casi d'uso del modello di flusso di lavoro

  • Automazione di attività ripetitive. Workflows incapsulano configurazioni e job di cluster utilizzati di frequente.

  • Modello di interazione API eliminazione e eliminazione delle transazioni. I modelli di flusso di lavoro sostituiscono i passaggi di un flusso tipico, che includono:

    1. creando il cluster
    2. invio di offerte di lavoro
    3. polling
    4. eliminando il 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 ripristino degli errori. Inoltre, semplificano l'integrazione di Dataproc con altri strumenti, come Cloud Functions e Cloud Composer.

  • Supporto per cluster temporanei e di lunga durata. Una complessità comune associata all'esecuzione di Apache Hadoop è l'ottimizzazione e il dimensionamento ottimale dei cluster. I cluster temporanei (gestiti) sono più facili da configurare poiché eseguono un singolo carico di lavoro. I selettori di cluster possono essere utilizzati con cluster di maggiore durata per eseguire ripetutamente lo stesso carico di lavoro senza dover sostenere i costi ammortizzati per la creazione e l'eliminazione dei cluster.

  • Sicurezza IAM granulare. La creazione di cluster Dataproc e l'invio di job richiedono autorizzazioni IAM del tutto o niente. I modelli di flusso di lavoro utilizzano un'autorizzazione workflowTemplates.instantiate per modello e non dipendono dalle autorizzazioni del cluster o del job.