Criar uma instância do Dataproc ativada para Spark
ONesta página, descrevemos como criar uma instância do Vertex AI Workbench compatível com o Dataproc Spark. Nesta página, também descrevemos os benefícios da extensão Dataproc JupyterLab e fornecemos uma visão geral sobre como usá-la com o Dataproc sem servidor e o Dataproc no Compute Engine.
Visão geral da extensão JupyterLab do Dataproc
As instâncias do Vertex AI Workbench têm a extensão do Dataproc JupyterLab pré-instalada a partir da versão M113
.
A extensão JupyterLab do Dataproc oferece duas maneiras de executar jobs de notebooks do Apache Spark: clusters do Dataproc e Dataproc sem servidor.
- Os clusters do Dataproc incluem um conjunto avançado de recursos com controle sobre a infraestrutura em que o Spark é executado. Você escolhe o tamanho e a configuração do cluster do Spark, permitindo personalização e controle sobre o ambiente. Essa abordagem é ideal para cargas de trabalho complexas, jobs de longa duração e gerenciamento refinado de recursos.
- O Dataproc sem servidor elimina as preocupações com a infraestrutura. Você envia os jobs do Spark e o Google cuida do provisionamento, do escalonamento e da otimização de recursos em segundo plano. Essa abordagem sem servidor oferece uma opção econômica para ciência de dados e cargas de trabalho de ML.
Em ambas as opções, é possível usar o Spark para processamento e análise de dados. A escolha entre clusters do Dataproc e o Dataproc sem servidor depende dos requisitos específicos de carga de trabalho, do nível de controle necessário e dos padrões de uso de recursos.
Os benefícios de usar o Dataproc sem servidor para ciência de dados e cargas de trabalho de ML incluem:
- Sem gerenciamento de clusters: não é preciso se preocupar com o provisionamento, a configuração ou o gerenciamento de clusters do Spark. Isso economiza tempo e recursos.
- Escalonamento automático: o Dataproc sem servidor faz o escalonamento automático com base na carga de trabalho. Assim, você paga apenas pelos recursos que usar.
- Alto desempenho: o Dataproc sem servidor é otimizado para desempenho e aproveita a infraestrutura do Google Cloud.
- Integração com outras Google Cloud tecnologias: o Dataproc sem servidor se integra a outros produtos do Google Cloud , como o BigQuery e o Catálogo universal do Dataplex.
Para mais informações, consulte a documentação do Dataproc sem servidor.
Antes de começar
- 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.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
Worker do Dataproc (
roles/dataproc.worker
) no seu projeto -
Editor do Dataproc (
roles/dataproc.editor
) no cluster para a permissãodataproc.clusters.use
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
-
dataproc.clusters.use
No console Google Cloud , acesse a página Instâncias.
Clique em
Criar.Na caixa de diálogo Nova instância, clique em Opções avançadas.
Na caixa de diálogo Criar instância, na seção Detalhes, verifique se a opção Ativar sessões interativas do Dataproc sem servidor está selecionada.
Verifique se o Tipo de Workbench está definido como Instância.
Na seção Ambiente, use a versão mais recente ou uma versão numerada como
M113
ou mais recente.Clique em Criar.
O Vertex AI Workbench cria uma instância e a inicia automaticamente. Quando a instância estiver pronta para uso, o Vertex AI Workbench ativa um link Abrir JupyterLab.
Selecione Configurações > Configurações do Cloud Dataproc.
Na guia Configuração, em Informações do projeto, altere o ID do projeto e a Região. Clique em Salvar.
Essas mudanças só vão entrar em vigor quando você reiniciar o JupyterLab.
Para reiniciar o JupyterLab, selecione Arquivo > Desligar e, em seguida, Abrir JupyterLab na página Instâncias do Vertex AI Workbench.
Suas entradas DNS estão configuradas corretamente.
Há um cluster disponível no mesmo projeto (ou você precisará criar um, se não existir).
O cluster tem o Gateway de componentes e o componente opcional Jupyter ativados.
Para mais informações sobre a extensão do Dataproc JupyterLab, consulte Usar a extensão do JupyterLab para desenvolver cargas de trabalho do Spark sem servidor.
Para saber mais sobre o Dataproc sem servidor, consulte a documentação do Dataproc sem servidor
Aprenda a executar cargas de trabalho do Dataproc sem servidor sem provisionar e gerenciar clusters.
Para saber mais sobre como usar o Spark com produtos e serviços do Google Cloud , consulte Spark no Google Cloud.
Procure os modelos disponíveis do Dataproc no GitHub.
Saiba mais sobre o Spark sem servidor no
serverless-spark-workshop
no GitHub.Leia a documentação do Apache Spark.
Funções exigidas
Para garantir que a conta de serviço tenha as permissões necessárias para executar um arquivo de notebook em um cluster do Dataproc sem servidor ou em um cluster do Dataproc, peça ao administrador para conceder à conta de serviço os seguintes papéis do IAM:
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para executar um arquivo de notebook em um cluster do Dataproc sem servidor ou em um cluster do Dataproc. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para executar um arquivo de notebook em um cluster do Dataproc sem servidor ou em um cluster do Dataproc:
O administrador também pode conceder essas permissões à conta de serviço com papéis personalizados ou outros papéis predefinidos.
Criar uma instância com o Dataproc ativado
Para criar uma instância do Vertex AI Workbench com o Dataproc ativado, faça o seguinte:
Abrir JupyterLab
Ao lado do nome da instância, clique em Abrir JupyterLab.
A guia Acesso rápido do JupyterLab é aberta no navegador. Por padrão, ela contém seções para Notebooks sem servidor do Dataproc e Jobs e sessões do Dataproc. Se houver clusters prontos para o Jupyter no projeto e na região selecionados, haverá uma seção chamada Notebooks de cluster do Dataproc.
Usar a extensão com o Dataproc sem servidor
Os modelos de ambiente de execução sem servidor do Dataproc que estão na mesma região e projeto que sua instância do Vertex AI Workbench aparecem na seção Notebooks sem servidor do Dataproc da guia Launcher do JupyterLab.
Para criar um modelo de ambiente de execução, consulte Criar um modelo de ambiente de execução sem servidor do Dataproc.
Para abrir um novo notebook do Spark sem servidor, clique em um modelo de ambiente de execução. Leva cerca de um minuto para o kernel remoto do Spark ser iniciado. Depois que o kernel for iniciado, você poderá começar a codificação.
Usar a extensão com o Dataproc no Compute Engine
Se você criou um Dataproc no cluster Jupyter do Compute Engine, a guia Launcher terá uma seção Notebooks de cluster do Dataproc.
Quatro cartões aparecem para cada cluster do Dataproc pronto para Jupyter a que você tem acesso nessa região e no projeto.
Para alterar a região e o projeto, faça o seguinte:
Para criar um novo notebook, clique em um card. Depois que o kernel remoto no cluster do Dataproc for iniciado, será possível começar a escrever o código e executá-lo no cluster.
Gerenciar o Dataproc em uma instância usando a gcloud CLI e a API
Esta seção descreve maneiras de gerenciar o Dataproc em uma instância do Vertex AI Workbench.
Alterar a região do cluster do Dataproc
Os kernels padrão da sua instância do Vertex AI Workbench, como Python e TensorFlow, são kernels locais executados na VM da instância. Em uma instância do Vertex AI Workbench ativada para Dataproc Spark, seu notebook é executado em um cluster do Dataproc por meio de um kernel remoto. O kernel remoto é executado em um serviço fora da VM da instância, o que permite acessar qualquer cluster do Dataproc dentro do mesmo projeto.
Por padrão, o Vertex AI Workbench usa clusters do Dataproc na mesma região da sua instância, mas é possível mudar a região do Dataproc, desde que o Gateway de componentes e o componente opcional Jupyter estejam ativados no cluster do Dataproc.
Testar acesso
A extensão Dataproc JupyterLab é ativada por padrão para instâncias do Vertex AI Workbench. Para testar o acesso ao Dataproc, verifique o acesso aos kernels remotos da instância enviando a seguinte solicitação curl para o domínio kernels.googleusercontent.com
:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .
Se o comando curl falhar, verifique o seguinte:
Desativar o Dataproc
Instâncias do Vertex AI Workbench são criadas com o Dataproc
ativado por padrão. É possível criar uma instância do Vertex AI Workbench com o Dataproc desativado definindo a chave disable-mixer
metadata
como true
.
gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true
Ativar Dataproc
É possível ativar o Dataproc em uma instância interrompida do Vertex AI Workbench atualizando o valor dos metadados.
gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false
Gerenciar o Dataproc usando o Terraform
O Dataproc para instâncias do Vertex AI Workbench
no Terraform é gerenciado usando a chave disable-mixer
no campo de metadados.
Ative o Dataproc definindo a chave disable-mixer
metadata
como false
. Desative o Dataproc definindo a chave de metadados disable-mixer
como true
.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Resolver problemas
Para diagnosticar e resolver problemas relacionados à criação de uma instância ativada para Dataproc Spark, consulte Solução de problemas do Vertex AI Workbench.