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.create
permission. 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.enable
permission. 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.create
permission. 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.enable
permission. 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
--region
se tiver executado anteriormentegcloud config set compute/region
para definir a propriedade region. - A sequência "-- " (dois traços e um espaço) no comando
add-job
transmite 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
sparkpi
na 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.instantiate
para 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
sparkpi
na 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.