Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:
- Managed Service for Apache Spark
- Compute Engine
- Managed Airflow
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
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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 role
(
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 Managed Airflow 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.-
Instale a CLI do Google Cloud.
-
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 role
(
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 Managed Airflow 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.-
Instale a CLI do Google Cloud.
-
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
Criar um modelo de fluxo de trabalho do Serviço Gerenciado para Apache Spark
Copie e execute os comandos a seguir em uma janela de terminal local ou no Cloud Shell para criar e definir um modelo de fluxo de trabalho.
- Crie o modelo de fluxo de trabalho
sparkpi.gcloud dataproc workflow-templates create sparkpi \ --region=us-central1 - Adicione o job do Spark ao modelo de fluxo de trabalho
sparkpi. A sinalizaçãostep-id"compute" identifica o job do SparkPi.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 Serviço Gerenciado para Apache Spark vai 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 - Confirme a criação do modelo de fluxo de trabalho.
Console
Clique no nome do
sparkpina página Fluxos de trabalho do Serviço gerenciado para Apache Spark no console Google Cloud para abrir a página Detalhes do modelo de fluxo de trabalho. Clique no nome do seu modelo de fluxo de trabalho para confirmar os atributos do modelosparkpi.
Comando gcloud
Execute este comando:
gcloud dataproc workflow-templates describe sparkpi --region=us-central1
Criar e fazer upload de um DAG para o Cloud Storage
- Crie ou use um ambiente gerenciado do Airflow.
- Definir variáveis de ambiente.
IU do Airflow
- Na barra de ferramentas, clique em Administrador > Variáveis.
- Clique em Criar.
- Digite as seguintes informações:
- Chave:
project_id - Val: PROJECT_ID: o ID do projeto do Google Cloud
- Chave:
- Clique em Salvar.
Comando gcloud
Digite os seguintes comandos:
ENVIRONMENTé o nome do ambiente do Airflow gerenciado.LOCATIONé a região em que o ambiente do Airflow Gerenciado está localizado.PROJECT_IDé o ID do projeto que contém o ambiente do Airflow Gerenciado.
gcloud composer environments run ENVIRONMENT --location LOCATION variables set -- project_id PROJECT_ID - Na barra de ferramentas, clique em Administrador > Variáveis.
- Copie o código do DAG a seguir localmente em um arquivo chamado "composer-dataproc-dag.py",
que usa o
DataprocInstantiateWorkflowTemplateOperator.
Airflow 2
Airflow 1
- Faça o upload do
DAG para a pasta do ambiente no Cloud Storage. Depois que o upload for
concluído, clique no link Pasta de DAGs
na página do ambiente Airflow Gerenciado.
Ver o status de uma tarefa
IU do Airflow
- Abra a interface da Web do Airflow.
- Na página DAGs, clique no nome do DAG, por exemplo,
dataproc_workflow_dag. - Na página "Detalhes dos DAGs", clique em Visualizar gráfico.
- Verificar status:
- Falha: a tarefa tem uma caixa vermelha ao redor.
Você também pode manter o ponteiro do mouse sobre a tarefa e verificar se há a mensagem Estado: Falha.

- Bem-sucedida: a tarefa tem uma caixa verde ao redor.
Você também pode manter o ponteiro do mouse sobre a tarefa e verificar se há a mensagem Estado: sucesso.

- Falha: a tarefa tem uma caixa vermelha ao redor.
Você também pode manter o ponteiro do mouse sobre a tarefa e verificar se há a mensagem Estado: Falha.
Console
Clique na guia "Fluxos de trabalho" para ver o status do fluxo de trabalho.
Comando gcloud
gcloud dataproc operations list \
--region=us-central1 \
--filter="labels.goog-dataproc-workflow-template-id=sparkpi"
Limpar
Para evitar cobranças na sua conta do Google Cloud , exclua os recursos usados neste tutorial:
A seguir
- Consulte Visão geral dos modelos de fluxo de trabalho do Serviço Gerenciado para Apache Spark.
- Consulte Soluções de programação de fluxo de trabalho.