Como usar fluxos de trabalho

O processo de configuração e execução de um fluxo de trabalho consiste em:

  1. criar um modelo de fluxo de trabalho;
  2. configurar um cluster gerenciado (temporário) ou selecionar um cluster existente;
  3. adicionar jobs;
  4. instanciar o modelo para executar o fluxo de trabalho.

Como criar um modelo

Comando gcloud

Execute o command a seguir para criar um recurso de modelo de fluxo de trabalho do Cloud Dataproc.

gcloud dataproc workflow-templates create template-id (such as "my-workflow")

API REST

Consulte workflowTemplates.create. Um WorkflowTemplate preenchido é enviado com uma solicitação workflowTemplates.create.

Console

É possível visualizar modelos de fluxo de trabalho existentes e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Como configurar ou selecionar um cluster

O Cloud Dataproc pode criar e utilizar um novo cluster "gerenciado" para o fluxo de trabalho ou um cluster existente.

  • Cluster atual: consulte Como utilizar seletores de cluster com fluxos de trabalho para selecionar um cluster atual para seu fluxo de trabalho.

  • Cluster gerenciado: é preciso configurar um cluster gerenciado para seu fluxo de trabalho. O Cloud Dataproc criará este novo cluster para executar jobs de fluxo de trabalho e excluirá o cluster no final do fluxo de trabalho.
    É possível configurar um cluster gerenciado para seu fluxo de trabalho usando a ferramenta de linha de comando gcloud ou a API do Cloud Dataproc.

    Comando gcloud

    Use sinalizações herdadas do gcloud dataproc cluster create para configurar o cluster gerenciado (número de worker, tipo de máquina mestre/worker etc). O Cloud Dataproc adicionará um sufixo ao nome do cluster para garantir a singularidade.

    gcloud dataproc workflow-templates set-managed-cluster template-id \
        --master-machine-type machine-type \
        --worker-machine-type machine-type \
        --num-workers number \
        --cluster-name cluster-name
    

    API REST

    Consulte WorkflowTemplatePlacement.ManagedCluster. Esse campo é fornecido como parte de um WorkflowTemplate preenchido e enviado com uma solicitação workflowTemplates.create ou workflowTemplates.update.

    Console

    É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Como adicionar jobs a um modelo

Todos os jobs são executados simultaneamente, a menos que você especifique uma ou mais dependências do job. As dependências de um job são expressas como uma lista de outros jobs que precisam ser concluídos com êxito antes que o job final possa ser iniciado. É preciso fornecer um step-id para cada job. É necessário que o código seja exclusivo no fluxo de trabalho, mas ele não precisa ser exclusivo globalmente.

Comando gcloud

Use o tipo de job e as sinalizações herdadas de gcloud dataproc jobs submit para definir o job a ser adicionado ao modelo. Como alternativa, use a sinalização ‑‑start-after job-id of another workflow job para que o job inicie após a conclusão de um ou mais jobs no fluxo de trabalho.

Exemplos:

Adicione o job "foo" do Hadoop ao modelo "my-workflow".

gcloud dataproc workflow-templates add-job hadoop \
  --step-id foo \
  --workflow-template my-workflow \
  -- space separated job args

Adicione "bar" do job ao modelo "my-workflow", que será executado após a conclusão do job do fluxo de trabalho "foo".

gcloud dataproc workflow-templates add-job job-type \
    --step-id bar \
    --start-after foo \
    --workflow-template my-workflow \
    -- space separated job args

Adicione outro job "baz" ao modelo "my-workflow" para ser executado após a conclusão dos jobs "foo" e "bar".

gcloud dataproc workflow-templates add-job job-type \
    --step-id baz \
    --start-after foo,bar \
    --workflow-template my-workflow \
    -- space separated job args

API REST

Consulte WorkflowTemplate.OrderedJob. Esse campo é fornecido como parte de um WorkflowTemplate preenchido e enviado com uma solicitação workflowTemplates.create ou workflowTemplates.update.

Console

É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Como executar um fluxo de trabalho

A instância de um modelo de fluxo de trabalho executa o fluxo de trabalho definido pelo modelo As várias instâncias de um modelo são compatíveis. É possível executar várias vezes um fluxo de trabalho.

Comando gcloud

gcloud dataproc workflow-templates instantiate template-id

O comando retorna um código da operação, que pode ser usado para rastrear o status do fluxo de trabalho.

Exemplo:
gcloud beta dataproc workflow-templates instantiate my-template-id
...
WorkflowTemplate [my-template-id] RUNNING
...
Created cluster: my-template-id-rg544az7mpbfa.
Job ID teragen-rg544az7mpbfa RUNNING
Job ID teragen-rg544az7mpbfa COMPLETED
Job ID terasort-rg544az7mpbfa RUNNING
Job ID terasort-rg544az7mpbfa COMPLETED
Job ID teravalidate-rg544az7mpbfa RUNNING
Job ID teravalidate-rg544az7mpbfa COMPLETED
...
Deleted cluster: my-template-id-rg544az7mpbfa.
WorkflowTemplate [my-template-id] DONE

API REST

Consulte workflowTemplates.instantiate.

Console

É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Falhas no job de fluxo de trabalho

Uma falha em qualquer nó em um fluxo de trabalho causará falha nesse fluxo. O Cloud Dataproc tentará minimizar o efeito das falhas fazendo com que todos os jobs em execução simultaneamente falhem e impedindo que os jobs seguintes comecem.

Como monitorar e listar um fluxo de trabalho

Comando gcloud

Para monitorar um fluxo de trabalho:

gcloud dataproc operations describe operation-id

Observação: o código da operação é retornado quando você instancia o fluxo de trabalho com gcloud dataproc workflow-templates instantiate. Veja mais detalhes em Como executar um fluxo de trabalho.

Para listar o status do fluxo de trabalho:

gcloud dataproc operations list \
    --filter "labels.goog-dataproc-operation-type=WORKFLOW AND status.state=RUNNING"

API REST

Para monitorar um fluxo de trabalho, use a operations.get API do Cloud Dataproc.

Para listar os fluxos de trabalho em execução, use a operations.list API do Cloud Dataproc com um filtro de rótulos.

Console

É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Como encerrar um fluxo de trabalho

Um fluxo de trabalho pode ser encerrado usando a ferramenta de linha de comando gcloud ou chamando a API do Cloud Dataproc.

Comando gcloud

gcloud dataproc operations cancel operation-id
Observação: o código da operação é retornado quando você instancia o fluxo de trabalho com gcloud dataproc workflow-templates instantiate. Veja mais detalhes em Como executar um fluxo de trabalho.

API REST

Consulte a API operations.cancel.

Console

É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Como atualizar um modelo de fluxo de trabalho

As atualizações não afetam a execução dos fluxos de trabalho. A nova versão do modelo só será aplicada aos novos fluxos de trabalho.

Comando gcloud

Os modelos de fluxo de trabalho podem ser atualizados com o envio de novos comandos gcloud workflow-templates que se referem a um código do modelo do fluxo de trabalho existente:

para um modelo de fluxo de trabalho existente.

API REST

Para fazer uma atualização em um modelo com a API REST, siga estas etapas:

  1. Chame workflowTemplates.get, que retorna o modelo atual com o campo version preenchido com a versão atual do servidor.
  2. Faça as atualizações do modelo recebido.
  3. Chame workflowTemplates.update com o modelo atualizado.

Console

É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Como excluir um modelo de fluxo de trabalho

Comando gcloud

gcloud dataproc workflow-templates delete template-id

Observação: o código da operação é retornado quando você instancia o fluxo de trabalho com gcloud dataproc workflow-templates instantiate. Veja mais detalhes em Como executar um fluxo de trabalho.

API REST

Consulte workflowTemplates.delete.

Console

É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados a partir da página Fluxos de trabalho do Cloud Dataproc no Console do GCP.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Dataproc
Precisa de ajuda? Acesse nossa página de suporte.