arrow_back

Usar o Dataproc sem servidor para Spark quando quiser carregar o BigQuery

Acesse mais de 700 laboratórios e cursos

Usar o Dataproc sem servidor para Spark quando quiser carregar o BigQuery

Laboratório 45 minutos universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Visão geral

O Dataproc sem servidor é um serviço totalmente gerenciado que facilita a execução de processamento de dados de código aberto e cargas de trabalho analíticas sem a necessidade de gerenciar a infraestrutura ou ajustar as cargas manualmente.

Ele oferece um ambiente otimizado, projetado para mover facilmente as cargas de trabalho do Spark para o Google Cloud.

Neste laboratório, você vai executar uma carga de trabalho do Batch no ambiente do Dataproc sem servidor. Essa carga usará um modelo do Spark para processar um arquivo Avro para criar e carregar uma tabela do BigQuery.

Atividades deste laboratório

  • Configurar o ambiente
  • Baixar os recursos do laboratório
  • Configurar e executar o código do Spark
  • Ver dados no BigQuery

Configuração

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer, que é iniciado quando você clica em Start Lab, mostra por quanto tempo os recursos do Cloud ficarão disponíveis.

Este laboratório prático do Qwiklabs permite que você realize as atividades em um ambiente real de nuvem, não em um ambiente simulado ou de demonstração. Isso é possível porque você recebe credenciais novas e temporárias para fazer login e acessar o Google Cloud Platform durante o laboratório.

O que é necessário

Para fazer este laboratório, você precisa ter:

  • acesso a um navegador de Internet padrão (recomendamos o Chrome);
  • tempo para concluir todas as atividades.

Observação: não use um projeto seu nem uma conta pessoal do GCP neste laboratório.

Como começar o laboratório e fazer login no console

  1. Clique no botão Começar o laboratório. Se for preciso pagar pelo laboratório, você verá um pop-up para selecionar a forma de pagamento. Um painel aparece à esquerda contendo as credenciais temporárias que você precisa usar no laboratório.

    Painel de credenciais

  2. Copie o nome de usuário e clique em Abrir console do Google. O laboratório ativa os recursos e depois abre a página Escolha uma conta em outra guia.

    Observação: abra as guias em janelas separadas, lado a lado.
  3. Na página "Escolha uma conta", clique em Usar outra conta. A página de login abre.

    Caixa de diálogo "Escolha uma conta" com a opção "Usar outra conta" destacada

  4. Cole o nome de usuário que foi copiado do painel "Detalhes da conexão". Em seguida, copie e cole a senha.

Observação: é necessário usar as credenciais do painel "Detalhes da conexão". Não use suas credenciais do Google Cloud Ensina. Não use sua conta pessoal do Google Cloud, caso tenha uma neste laboratório (isso evita cobranças).
  1. Acesse as próximas páginas:
  • Aceite os Termos e Condições.
  • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
  • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do Cloud abre nesta guia.

Observação: para acessar a lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Menu do console do Cloud

Ative o Google Cloud Shell

O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud.

O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.

    Ícone do Cloud Shell em destaque

  2. Clique em Continuar.

O provisionamento e a conexão do ambiente podem demorar um pouco. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Exemplo:

ID do projeto em destaque no terminal do Cloud Shell

A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  • Para listar o nome da conta ativa, use este comando:
gcloud auth list

Saída:

Credentialed accounts: - @.com (active)

Exemplo de saída:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Para listar o ID do projeto, use este comando:
gcloud config list project

Saída:

[core] project =

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: a documentação completa da gcloud está disponível no guia com informações gerais sobre a gcloud CLI .

Tarefa 1: realizar as tarefas de configuração do ambiente

Primeiro, você vai fazer algumas tarefas de configuração do ambiente para permitir a execução de uma carga de trabalho do Dataproc sem servidor.

  1. No Cloud Shell, execute este comando para ativar o acesso por IP particular:
gcloud compute networks subnets update default --region={{{project_0.default_region |REGION}}} --enable-private-ip-google-access
  1. Use o comando abaixo para criar um novo bucket do Cloud Storage como local de teste:
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}
  1. Use este comando para criar um novo bucket do Cloud Storage como local temporário para o BigQuery enquanto ele cria e carrega uma tabela:
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}-bqtemp
  1. Crie um conjunto de dados do BigQuery para armazenar os dados.
bq mk -d loadavro Realizar as tarefas de configuração do ambiente

Tarefa 2: baixar os recursos do laboratório

Agora, você baixar alguns recursos necessários para concluir o laboratório na VM do Compute Engine fornecida. O restante das etapas serão realizadas na VM do Compute Engine.

  1. No menu de navegação, clique em Compute Engine. Aqui, você vai encontrar uma VM do linux provisionada para você. Clique no botão SSH ao lado da instância lab-vm.

Página da instância de VM do GCE

  1. No comando do terminal da VM, baixe o arquivo Avro que será processado para armazenamento no BigQuery.
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/campaigns.avro
  1. Depois, mova o arquivo Avro para o bucket do Cloud Storage de teste que você criou anteriormente.
gcloud storage cp campaigns.avro gs://{{{project_0.project_id |PROJECT_ID}}}
  1. Baixe um arquivo contendo o código do Spark que será executado no ambiente sem servidor.
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/dataproc-templates.zip
  1. Extraia o arquivo.
unzip dataproc-templates.zip
  1. Mude para o diretório em Python.
cd dataproc-templates/python Baixar os recursos do laboratório

Tarefa 3: configurar e executar o código do Spark

Agora, você vai configurar algumas variáveis de ambiente no terminal da instância de VM e executar um modelo do Spark para carregar dados no BigQuery.

  1. Defina estas variáveis para o ambiente do Dataproc sem servidor.
export GCP_PROJECT={{{project_0.project_id |PROJECT_ID}}} export REGION={{{project_0.default_region |REGION}}} export GCS_STAGING_LOCATION=gs://{{{project_0.project_id |PROJECT_ID}}} export JARS=gs://cloud-training/dataengineering/lab_assets/idegc/spark-bigquery_2.12-20221021-2134.jar
  1. Use o código abaixo para executar o modelo Spark Cloud Storage para BigQuery e carregar o arquivo Avro no BigQuery.
./bin/start.sh \ -- --template=GCSTOBIGQUERY \ --gcs.bigquery.input.format="avro" \ --gcs.bigquery.input.location="gs://{{{project_0.project_id |PROJECT_ID}}}" \ --gcs.bigquery.input.inferschema="true" \ --gcs.bigquery.output.dataset="loadavro" \ --gcs.bigquery.output.table="campaigns" \ --gcs.bigquery.output.mode=overwrite\ --gcs.bigquery.temp.bucket.name="{{{project_0.project_id |PROJECT_ID}}}-bqtemp" Observação: é seguro ignorar qualquer aviso com a mensagem: AVISO FileStreamSink: pressupor que não há um diretório de metadados. Houve um erro ao procurar um diretório de metadados no caminho... Como este é um teste pequeno, não é necessário um diretório de metadados. Observação: se você receber uma mensagem de erro informando que o job em lote falhou, aguarde e execute o comando novamente até que o job seja concluído. Configurar e executar o código do Spark

Tarefa 4: confirmar se os dados foram carregados no BigQuery

Agora que você executou o modelo do Spark, é hora de analisar os resultados no BigQuery.

  1. Veja os dados na nova tabela do BigQuery.
bq query \ --use_legacy_sql=false \ 'SELECT * FROM `loadavro.campaigns`;'
  1. A consulta deve retornar resultados semelhantes a estes:

Exemplo de saída:

+------------+--------+---------------------+--------+---------------------+----------+-----+ | created_at | period | campaign_name | amount | advertising_channel | bid_type | id | +------------+--------+---------------------+--------+---------------------+----------+-----+ | 2020-09-17 | 90 | NA - Video - Other | 41 | Video | CPC | 81 | | 2021-01-19 | 30 | NA - Video - Promo | 325 | Video | CPC | 137 | | 2021-06-28 | 30 | NA - Video - Promo | 78 | Video | CPC | 214 | | 2021-03-15 | 30 | EU - Search - Brand | 465 | Search | CPC | 170 | | 2022-01-01 | 30 | EU - Search - Brand | 83 | Search | CPC | 276 | | 2020-02-18 | 30 | EU - Search - Brand | 30 | Search | CPC | 25 | | 2021-06-08 | 30 | EU - Search - Brand | 172 | Search | CPC | 201 | | 2020-11-29 | 60 | EU - Search - Other | 83 | Search | CPC | 115 | | 2021-09-11 | 30 | EU - Search - Other | 86 | Search | CPC | 237 | | 2022-02-17 | 30 | EU - Search - Other | 64 | Search | CPC | 296 | +------------+--------+---------------------+--------+---------------------+----------+-----+ Confirmar se os dados foram carregados no BigQuery

Parabéns!

Você executou uma carga de trabalho do Batch usando o Dataproc sem servidor para Spark ao carregar um arquivo Avro em uma tabela do BigQuery.

Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.