Criar uma instância do Managed Service for Apache Spark com o Spark ativado
ONesta página, descrevemos como criar uma instância do Vertex AI Workbench com o Managed Service para Apache Spark. Nesta página, também descrevemos os benefícios da extensão JupyterLab do Managed Service for Apache Spark e fornecemos uma visão geral sobre como usá-la com o Managed Service for Apache Spark e o Managed Service for Apache Spark no Compute Engine.
Visão geral da extensão do JupyterLab do Managed Service for Apache Spark
As instâncias do Vertex AI Workbench têm a extensão do JupyterLab do serviço gerenciado para Apache Spark pré-instalada a partir da versão M113.
A extensão do JupyterLab do Managed Service for Apache Spark oferece duas maneiras de executar jobs de notebooks do Apache Spark: clusters do Managed Service for Apache Spark e Managed Service for Apache Spark.
- Os clusters do Managed Service for Apache Spark 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 Managed Service for Apache Spark 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 Managed Service for Apache Spark e o Managed Service for Apache Spark 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 Managed Service for Apache Spark 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 Managed Service para Apache Spark faz o escalonamento automático com base na carga de trabalho. Assim, você paga apenas pelos recursos que usar.
- Alto desempenho: o Managed Service for Apache Spark é otimizado para desempenho e aproveita a infraestrutura do Google Cloud.
- Integração com outras tecnologias do Google Cloud : o Managed Service para Apache Spark se integra a outros produtos do Google Cloud , como o BigQuery e o Knowledge Catalog.
Para mais informações, consulte a documentação do Managed Service para Apache Spark.
Antes de começar
- 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.
Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks 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.-
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.
Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks 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.
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 Managed Service para Apache Spark ou em um cluster do Managed Service para Apache Spark, peça ao administrador para conceder os seguintes papéis do IAM à conta de serviço:
-
Worker do Dataproc (
roles/dataproc.worker) no seu projeto -
Editor do Dataproc (
roles/dataproc.editor) no cluster para a permissãodataproc.clusters.use
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 Serviço gerenciado para Apache Spark ou em um cluster do Serviço gerenciado para Apache Spark. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para executar um arquivo de notebook em um cluster do Managed Service for Apache Spark:
-
dataproc.agents.create -
dataproc.agents.delete -
dataproc.agents.get -
dataproc.agents.update -
dataproc.tasks.lease -
dataproc.tasks.listInvalidatedLeases -
dataproc.tasks.reportStatus -
dataproc.clusters.use
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 Managed Service for Apache Spark ativado
Para criar uma instância do Vertex AI Workbench com o Managed Service para Apache Spark ativado, faça o seguinte:
No console do 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
M113ou 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.
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 do Managed Service for Apache Spark e Jobs e sessões do Managed Service for Apache Spark. Se houver clusters prontos para o Jupyter no projeto e na região selecionados, haverá uma seção chamada Notebooks de cluster do serviço gerenciado para Apache Spark.
Usar a extensão com o Managed Service for Apache Spark
Os modelos de ambiente de execução do Managed Service para Apache Spark que estão na mesma região e projeto que sua instância do Vertex AI Workbench aparecem na seção Notebooks do Managed Service para Apache Spark da guia Launcher do JupyterLab.
Para criar um modelo de ambiente de execução, consulte Criar um modelo de ambiente de execução do Managed Service para Apache Spark.
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 Managed Service for Apache Spark no Compute Engine
Se você criou um cluster Jupyter do Managed Service for Apache Spark no Compute Engine, a guia Launcher terá uma seção Notebooks de cluster do Managed Service for Apache Spark.
Quatro cards aparecem para cada cluster do Serviço gerenciado para Apache Spark 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:
Selecione Configurações > Configurações do serviço gerenciado do Cloud para Apache Spark.
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.
Para criar um novo notebook, clique em um card. Depois que o kernel remoto no cluster do Serviço gerenciado para Apache Spark for iniciado, será possível começar a escrever o código e executá-lo no cluster.
Gerenciar o Managed Service for Apache Spark em uma instância usando a CLI gcloud e a API
Esta seção descreve maneiras de gerenciar o Managed Service para Apache Spark em uma instância do Vertex AI Workbench.
Mudar a região do cluster do Managed Service for Apache Spark
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 o Managed Service for Apache Spark, seu notebook é executado em um cluster do Managed Service for Apache Spark 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 Managed Service for Apache Spark dentro do mesmo projeto.
Por padrão, o Vertex AI Workbench usa clusters do Managed Service for Apache Spark na mesma região da sua instância, mas é possível mudar a região do Managed Service for Apache Spark, desde que o Gateway de componentes e o componente opcional Jupyter estejam ativados no cluster do Managed Service for Apache Spark.
Testar acesso
A extensão do JupyterLab do Managed Service for Apache Spark é ativada por padrão para instâncias do Vertex AI Workbench. Para testar o acesso ao Managed Service for Apache Spark,
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:
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.
Desativar o Managed Service for Apache Spark
As instâncias do Vertex AI Workbench são criadas com o Managed Service para Apache Spark
ativado por padrão. É possível criar uma instância do Vertex AI Workbench com o Managed Service para Apache Spark desativado definindo a chave disable-mixer
metadata como true.
gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true
Ativar o Managed Service for Apache Spark
É possível ativar o serviço gerenciado para Apache Spark 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 Managed Service for Apache Spark usando o Terraform
O Serviço gerenciado para Apache Spark para instâncias do Vertex AI Workbench
no Terraform é gerenciado usando a chave disable-mixer no campo de metadados.
Ative o Managed Service for Apache Spark definindo a chave disable-mixer
metadata como false. Desative o Managed Service for Apache Spark 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 do Managed Service for Apache Spark ativada para Spark, consulte Solução de problemas do Vertex AI Workbench.
A seguir
Para mais informações sobre a extensão do JupyterLab do Managed Service para Apache Spark, consulte Usar a extensão do JupyterLab para desenvolver cargas de trabalho do Spark sem servidor.
Para saber mais sobre o Managed Service for Apache Spark, consulte a documentação do Managed Service for Apache Spark.
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 Managed Service for Apache Spark no GitHub.
Saiba mais sobre o Spark sem servidor no
serverless-spark-workshopno GitHub.Leia a documentação do Apache Spark.