Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
- Dataproc
- Compute Engine
- Cloud Scheduler
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Antes de começar
Configure o seu projeto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init - Abra a página IAM e administração → Funções
na Google Cloud consola.
- Clique em CRIAR FUNÇÃO para abrir a página Criar função.
- Preencha os campos Título, Descrição, ID e Fase de lançamento. Sugestão: Use "Dataproc Workflow Template Create" como título da função.
- Clique em ADICIONAR AUTORIZAÇÕES,
- No formulário Adicionar autorizações, clique em Filtrar e, de seguida, selecione "Autorização". Conclua o filtro para ler "Autorização: dataproc.workflowTemplates.instantiate".
- Clique na caixa de verificação à esquerda da autorização apresentada e, de seguida,
clique em Adicionar.

- Na página Criar função, clique novamente em ADICIONAR AUTORIZAÇÕES para repetir os subpassos anteriores e adicionar a autorização "iam.serviceAccounts.actAs" à função personalizada. A página Criar função apresenta agora duas autorizações.

- Clique em CRIAR na página Função personalizada.
A função personalizada é apresentada na página Funções.

Na Google Cloud consola, aceda à página Contas de serviço.
Selecione o seu projeto.
Clique em Criar conta de serviço.
No campo Nome da conta de serviço, introduza o nome
workflow-scheduler. A Google Cloud consola preenche o campo ID da conta de serviço com base neste nome.Opcional: no campo Descrição da conta de serviço, introduza uma descrição para a conta de serviço.
Clique em Criar e continuar.
Clique no campo Selecionar uma função e escolha a função personalizada Dataproc Workflow Template Create que criou no passo anterior.
Clique em Continuar.
No campo Função de administrador da conta de serviço, introduza o endereço de email da sua Conta Google.
Clique em Concluído para terminar de criar a conta de serviço.
- Os comandos especificam a região "us-central1". Pode especificar
uma região diferente ou eliminar a flag
--regionse tiver executado anteriormentegcloud config set compute/regionpara definir a propriedade region. - A sequência "-- " (dois traços e um espaço) no comando
add-jobtransmite o argumento1000à tarefa SparkPi, que especifica o número de amostras a usar para estimar o valor de Pi. - Crie o modelo de fluxo de trabalho.
gcloud dataproc workflow-templates create sparkpi \ --region=us-central1
- Adicione a tarefa Spark ao modelo de fluxo de trabalho sparkpi. O ID do passo "compute" é obrigatório e identifica a tarefa SparkPi adicionada.
gcloud dataproc workflow-templates add-job spark \ --workflow-template=sparkpi \ --step-id=compute \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ --region=us-central1 \ -- 1000
- Use um cluster
gerido,
de nó único
para executar o fluxo de trabalho. O Dataproc cria o cluster, executa o fluxo de trabalho no mesmo e, em seguida, elimina o cluster quando o fluxo de trabalho estiver concluído.
gcloud dataproc workflow-templates set-managed-cluster sparkpi \ --cluster-name=sparkpi \ --single-node \ --region=us-central1
- Clique no nome do
sparkpina página Fluxos de trabalho do Dataproc na Google Cloud consola para abrir a página Detalhes do modelo de fluxo de trabalho. Confirme os atributos do modelo sparkpi.
Abra a página Cloud Scheduler na Google Cloud consola (pode ter de selecionar o seu projeto para abrir a página). Clique em CRIAR TAREFA.
Introduza ou selecione as seguintes informações da tarefa:
- Selecione uma região: "us-central" ou outra região onde criou o modelo de fluxo de trabalho.
- Nome: "sparkpi"
- Frequência: "* * * * *" seleciona todos os minutos; "0 9 * * 1" seleciona todas as segundas-feiras às 09:00. Consulte o artigo Definir a programação da tarefa para outros valores unix-cron. Nota: pode clicar num botão EXECUTAR AGORA na página Trabalhos do Cloud Scheduler na Google Cloud consola para executar e testar o seu trabalho, independentemente da frequência que definir para o mesmo.
- Fuso horário: selecione o seu timezone. Escreva "Estados Unidos" para listar os fusos horários dos EUA.
- Destino: "HTTP"
- URL: insira o seguinte URL depois de inserir
your-project-id. Substitua "us-central1" se tiver criado o modelo de fluxo de trabalho numa região diferente. Este URL chama a API
Dataproc
workflowTemplates.instantiatepara executar o seu modelo de fluxo de trabalho sparkpi.https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
- Método HTTP:
- "POST"
- Corpo: "{}"
- Auth header:
- "Adicionar token OAuth"
- Conta de serviço: insira o service account address da
conta de serviço que criou para este tutorial.
Pode usar o seguinte endereço da conta depois de inserir your-project-id:
workflow-scheduler@your-project-id.iam.gserviceaccount.com
- Âmbito: pode ignorar este item.
- Clique em CRIAR.
Na linha da tarefa
sparkpina página Tarefas do Cloud Scheduler, clique em EXECUTAR AGORA.Aguarde alguns minutos e, em seguida, abra a página Fluxos de trabalho do Dataproc para verificar se o fluxo de trabalho sparkpi foi concluído.

Depois de o fluxo de trabalho eliminar o cluster gerido, os detalhes da tarefa persistem na Google Cloud consola. Clique na tarefa
compute...apresentada na página Tarefas do Dataproc para ver os detalhes da tarefa de fluxo de trabalho.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Consulte o artigo Vista geral dos modelos de fluxo de trabalho do Dataproc.
- Consulte soluções de agendamento de fluxos de trabalho.
Crie uma função personalizada
Criar uma conta de serviço
Crie um modelo de fluxo de trabalho.
Copie e execute os comandos indicados abaixo numa janela de terminal local ou no Cloud Shell para criar e definir um modelo de fluxo de trabalho.
Notas:
Crie uma tarefa do Cloud Scheduler
Teste a tarefa do fluxo de trabalho agendada
Limpar
O fluxo de trabalho neste tutorial elimina o respetivo cluster gerido quando o fluxo de trabalho é concluído. Manter o fluxo de trabalho permite-lhe executá-lo novamente e não incorre em custos. Pode eliminar outros recursos criados neste tutorial para evitar custos recorrentes.
Elimine um projeto
Elimine o modelo de fluxo de trabalho
gcloud dataproc workflow-templates delete sparkpi \ --region=us-central1
Elimine a sua tarefa do Cloud Scheduler
Abra a página Tarefas do Cloud Scheduler
na consola, selecione a caixa à esquerda da função sparkpi
e, de seguida, clique em ELIMINAR. Google Cloud
Elimine a sua conta de serviço
Abra a página IAM e administrador → Contas de serviço
na Google Cloud consola, selecione a caixa à esquerda da workflow-scheduler...
conta de serviço e, de seguida, clique em ELIMINAR.