Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
- Dataproc
- Compute Engine
- Cloud Scheduler
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
Criar o 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Criar um papel personalizado
- Abra a página Abrir IAM e administrador → Papéis
no console Google Cloud .
- Clique em CRIAR PAPEL para abrir a página Criar papel.
- Preencha os campos "Título", "Descrição", "ID" e "Iniciar cenário". Sugestão: use "Criar modelo de fluxo de trabalho do Dataproc" como o título do papel.
- Clique em ADICIONAR PERMISSÕES,
- No formulário Adicionar permissões, clique em Filtrar e selecione "Permissão". Conclua o filtro para ler "Permissão: dataproc.workflowTemplates.instantiate".
- Clique na caixa de seleção à esquerda da permissão listada e clique em ADICIONAR.
- Na página "Criar papel", clique novamente em ADICIONAR PERMISSÕES para repetir as subetapas anteriores e adicionar a permissão "iam.serviceAccounts.actAs" ao papel personalizado. Agora a página Criar papel lista duas permissões.
- Clique em CRIAR na página Papel personalizado. O papel personalizado é listado na página Papéis.
Crie uma conta de serviço
No console do Google Cloud , acesse a página Contas de serviço.
Selecione o projeto.
Clique em
Criar conta de serviço.No campo Nome da conta de serviço, insira o nome
workflow-scheduler
. O console do Google Cloud preenche o campo ID da conta de serviço com base nesse nome.Opcional: preencha o campo Descrição da conta de serviço.
Clique em Criar e continuar.
Clique no campo Selecionar um papel e escolha a função personalizada Criar modelo de fluxo de trabalho do Dataproc que você criou na etapa anterior.
Clique em Continuar.
No campo Papel de administradores da conta de serviço, insira o endereço de e-mail da sua Conta do Google.
Clique em Concluído para terminar a criação da conta de serviço.
Criar um modelo de fluxo de trabalho
Copie e execute os comandos listados abaixo em uma janela de terminal local ou no Cloud Shell para criar e definir um modelo de fluxo de trabalho.
Observações:
- Os comandos especificam a região "us-central1". É possível especificar uma região diferente ou excluir a sinalização
--region
, se tiver executadogcloud config set compute/region
anteriormente para definir a propriedade da região. - A sequência "- " (espaço do traço) no comando
add-job
passa o argumento1000
para o job do SparkPi, que especifica o número de amostras a serem usadas para estimar o valor de pi.
- Crie o modelo de fluxo de trabalho.
gcloud dataproc workflow-templates create sparkpi \ --region=us-central1
- Adicione o job spark ao modelo de fluxo de trabalho do sparkpi. O ID da etapa "compute" é
obrigatório e identifica o job do SparkPi adicionado.
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 gerenciado de nó único para executar o fluxo de trabalho. O Dataproc criará o cluster, executará o fluxo de trabalho nele e excluirá o cluster quando o fluxo de trabalho for 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 no console do Google Cloud para abrir a página Detalhes do modelo de fluxo de trabalho. Confirme os atributos do modelo sparkpi.
Criar um job do Cloud Scheduler
Abra a página do Cloud Scheduler no console do Google Cloud . Talvez seja necessário selecionar seu projeto para abrir a página. Clique em CRIAR JOB.
Insira ou selecione as seguintes informações do job:
- Selecione uma região: "us-central" ou outra região em que você criou seu modelo de fluxo de trabalho.
- Nome: "Sparkpi"
- Frequência: "* * * * *" seleciona a cada minuto. "0 9 * * 1" seleciona todas as segundas-feiras às 9h. Consulte Como definir a programação de jobs para outros valores de unix-cron. Observação:você pode clicar em um botão EXECUTAR AGORA nos Jobs do Cloud Scheduler no console do Google Cloud para executar e testar o job, independentemente da frequência definida para ele.
- Fuso horário: selecione seu timezone. Digite "Estados Unidos" para listar os fusos horários dos EUA.
- Destino: "HTTP"
- URL: insira o URL a seguir depois de inserir
your-project-id. Substitua "us-central1" se você criou
o modelo de fluxo de trabalho em uma região diferente. Esse URL chamará
a API
workflowTemplates.instantiate
do Dataproc para executar o modelo de fluxo de trabalho do Sparkpi.https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
- Método HTTP:
- "POST"
- Corpo: "{}"
- Cabeçalho do Auth:
- "Adicionar token OAuth"
- Conta de serviço: insira o service account address da
conta de serviço que você criou para este tutorial.
Você pode usar o seguinte endereço de conta depois de inserir your-project-id:
workflow-scheduler@your-project-id.iam.gserviceaccount.com
- Escopo: você pode ignorar este item.
- Clique em CRIAR
Testar o job do fluxo de trabalho programado
Na linha do job
sparkpi
na página do Cloud Scheduler Jobs, clique em EXECUTAR AGORA.Aguarde alguns minutos e abra a página Fluxos de trabalho do Dataproc para verificar se o fluxo de trabalho sparkpi foi concluído.
Depois que o fluxo de trabalho exclui o cluster gerenciado, os detalhes do job permanecem no console do Google Cloud . Clique no job
compute...
listado na página Jobs do Dataproc para conferir os detalhes do job do fluxo de trabalho.
Limpar
O fluxo de trabalho neste tutorial exclui o cluster gerenciado quando o fluxo de trabalho é concluído. Manter o fluxo de trabalho permite executá-lo novamente e não gera cobranças. Você pode excluir outros recursos criados neste tutorial para evitar custos recorrentes.
Como excluir um projeto
- 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.
Como excluir o modelo de fluxo de trabalho
gcloud dataproc workflow-templates delete sparkpi \ --region=us-central1
Como excluir o job do Cloud Schedule
Abra a página Jobs do Cloud Scheduler
no console Google Cloud , selecione a caixa à esquerda da função sparkpi
e clique em EXCLUIR.
Como excluir sua conta de serviço
Abra a página IAM e administrador → Contas de serviço
no console do Google Cloud , selecione a caixa à esquerda da conta de serviço workflow-scheduler...
e clique em EXCLUIR.
A seguir
- Consulte Visão geral dos modelos de fluxo de trabalho do Dataproc
- Consulte Soluções de programação de fluxo de trabalho