Vista geral dos modelos de fluxo de trabalho do Dataproc

A API WorkflowTemplates do Dataproc oferece um mecanismo flexível e fácil de usar para gerir e executar fluxos de trabalho. Um modelo de fluxo de trabalho é uma configuração de fluxo de trabalho reutilizável. Define um gráfico de tarefas com informações sobre onde executar essas tarefas.

Pontos-chave:

  • A instanciação de um modelo de fluxo de trabalho inicia um fluxo de trabalho. Um fluxo de trabalho é uma operação que executa um gráfico acíclico orientado (DAG) de tarefas num cluster.
    • Se o fluxo de trabalho usar um cluster gerido, cria o cluster, executa as tarefas e, em seguida, elimina o cluster quando as tarefas terminam.
    • Se o fluxo de trabalho usar um seletor de clusters, executa tarefas num cluster existente selecionado.
  • Os fluxos de trabalho são ideais para fluxos de tarefas complexos. Pode criar dependências de tarefas para que uma tarefa só seja iniciada depois de as respetivas dependências serem concluídas com êxito.
  • Quando cria um modelo de fluxo de trabalho, o Dataproc não cria um cluster nem envia tarefas para um cluster. O Dataproc cria ou seleciona um cluster e executa tarefas de fluxo de trabalho no cluster quando um modelo de fluxo de trabalho é instanciado.

Tipos de modelos de fluxo de trabalho

Cluster gerido

Um modelo de fluxo de trabalho pode especificar um cluster gerido. O fluxo de trabalho cria um cluster "efémero" para executar tarefas de fluxo de trabalho e, em seguida, elimina o cluster quando o fluxo de trabalho terminar.

Seletor de clusters

Um modelo de fluxo de trabalho pode especificar um cluster existente no qual executar tarefas de fluxo de trabalho especificando uma ou mais etiquetas de utilizador anexadas anteriormente ao cluster. O fluxo de trabalho é executado num cluster que corresponde a todas as etiquetas. Se vários clusters corresponderem a todas as etiquetas, o Dataproc seleciona o cluster com a maior quantidade de memória disponível do YARN para executar todas as tarefas do fluxo de trabalho. No final do fluxo de trabalho, o Dataproc não elimina o cluster selecionado. Consulte o artigo Use seletores de clusters com fluxos de trabalho para mais informações.

Parametrizado

Se vai executar um modelo de fluxo de trabalho várias vezes com valores diferentes, use parâmetros para evitar editar o modelo de fluxo de trabalho para cada execução:

  1. Definir parâmetros no modelo e, em seguida,

  2. transmitir valores diferentes para os parâmetros de cada execução.

Consulte o artigo Parametrização de modelos de fluxo de trabalho para mais informações.

Inline

Os fluxos de trabalho podem ser instanciados inline através do comando gcloud com ficheiros YAML de modelos de fluxo de trabalho ou chamando a API InstantiateInline do Dataproc (consulte o artigo Usar fluxos de trabalho do Dataproc inline). Os fluxos de trabalho inline não criam nem modificam recursos de modelos de fluxos de trabalho.

Exemplos de utilização de modelos de fluxo de trabalho

  • Automatização de tarefas repetitivas. Os fluxos de trabalho encapsulam as configurações e as tarefas de cluster usadas com frequência.

  • Modelo de interação da API transacional de disparo e esquecimento. Os modelos de fluxos de trabalho substituem os passos envolvidos num fluxo típico, que incluem:

    1. criar o cluster
    2. enviar trabalhos
    3. sondagens
    4. eliminar o cluster

    Os modelos de fluxo de trabalho usam um único token para acompanhar o progresso desde a criação do cluster até à eliminação, e automatizam o processamento e a recuperação de erros. Também simplificam a integração do Dataproc com outras ferramentas, como as funções do Cloud Run e o Cloud Composer.

  • Suporte para clusters efémeros e de longa duração. Uma complexidade comum associada à execução do Apache Hadoop é a otimização e o dimensionamento adequado dos clusters. Os clusters efémeros (geridos) são mais fáceis de configurar, uma vez que executam uma única carga de trabalho. Os seletores de clusters podem ser usados com clusters de maior duração para executar repetidamente a mesma carga de trabalho sem incorrer no custo amortizado da criação e eliminação de clusters.

  • Segurança da IAM detalhada. A criação de clusters do Dataproc e o envio de tarefas requerem autorizações de IAM tudo ou nada. Os modelos de fluxo de trabalho usam uma autorização workflowTemplates.instantiate por modelo e não dependem de autorizações de cluster ou de tarefa.