Neste documento, você vai 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.
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.
 - 
          
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
 - 
        
Para inicializar a gcloud CLI, 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.
 - 
          
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
 - 
        
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init - Abra a página 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.
  

 
 No console 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 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 o papel personalizado 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.
- 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/regionanteriormente para definir a propriedade da região. - A sequência "- " (espaço do traço) no comando 
add-jobpassa o argumento1000para 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 
sparkpina página Fluxos de trabalho do Dataproc no console Google Cloud para abrir a página Detalhes do modelo de fluxo de trabalho. Confirme os atributos do modelo sparkpi.
   Abra a página do Cloud Scheduler no Google Cloud console. 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ê poderá clicar em um botão EXECUTAR AGORA nos Jobs do Cloud Scheduler no Google Cloud console 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.instantiatedo 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
 
Na linha do job
sparkpina 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 Google Cloud . Clique no job
compute...listado na página Jobs do Dataproc para visualizar os detalhes do job do 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 Visão geral dos modelos de fluxo de trabalho do Dataproc.
 - Consulte Soluções de programação de fluxo de trabalho.
 
Criar um papel personalizado
Criar uma 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:
Criar um job do Cloud Scheduler
Testar o job do fluxo de trabalho programado
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.
Excluir um projeto
Excluir o modelo de fluxo de trabalho
gcloud dataproc workflow-templates delete sparkpi \ --region=us-central1
Excluir o job do Cloud Scheduler
Abra a página Jobs do Cloud Scheduler
no console Google Cloud , marque a caixa à esquerda da função sparkpi
e clique em EXCLUIR.
Excluir sua conta de serviço
Abra a página IAM e administrador → Contas de serviço
no console Google Cloud , marque a caixa à esquerda da conta de serviço workflow-scheduler...
e clique em EXCLUIR.