Criar uma instância ativada para o Spark do Serviço Gerenciado para Apache Spark

O

Esta página descreve como criar uma instância do Workbench da plataforma de agentes do Gemini Enterprise ativada para o Spark do Serviço Gerenciado para Apache Spark. Esta página também descreve os benefícios da extensão do Serviço Gerenciado para Apache Spark JupyterLab e oferece uma visão geral de como usar a extensão com o Serviço Gerenciado para Apache Spark e o Serviço Gerenciado para Apache Spark no Compute Engine.

Visão geral da extensão do Serviço Gerenciado para Apache Spark JupyterLab

As instâncias do Workbench da plataforma de agentes têm a extensão do Serviço Gerenciado para Apache Spark JupyterLab pré-instalada a partir da versão M113.

A extensão do Serviço Gerenciado para Apache Spark JupyterLab oferece duas maneiras de executar jobs de notebook do Apache Spark: clusters do Serviço Gerenciado para Apache Spark e Serviço Gerenciado para Apache Spark.

  • Os clusters do Serviço Gerenciado para 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 Serviço Gerenciado para 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.

Com as duas opções, é possível usar o Spark para processamento de dados e análise. A escolha entre clusters do Serviço Gerenciado para Apache Spark e o Serviço Gerenciado para 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 do uso do Serviço Gerenciado para 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 Serviço Gerenciado 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 Serviço Gerenciado para Apache Spark é otimizado para desempenho e aproveita a infraestrutura do Google Cloud Google Cloud.
  • Integração com outras Google Cloud tecnologias: o Serviço Gerenciado para Apache Spark se integra a outros Google Cloud produtos, como o BigQuery e o Knowledge Catalog.

Para mais informações, consulte a documentação do Serviço Gerenciado para Apache Spark.

Antes de começar

  1. Faça login na sua Google Cloud conta. Se você não conhece o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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 Serviço Gerenciado para Apache Spark ou um cluster do Serviço Gerenciado para Apache Spark, 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 Serviço Gerenciado para Apache Spark. Para acessar as permissões exatas que são 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 Serviço Gerenciado para 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 Serviço Gerenciado para Apache Spark ativado

Para criar uma instância do Workbench da plataforma de agentes com o Serviço Gerenciado para Apache Spark ativado, faça o seguinte:

  1. No Google Cloud console do Google Cloud, acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique em Criar.

  3. Na caixa de diálogo Nova instância, clique em Opções avançadas.

  4. 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.

  5. Verifique se o Tipo de Workbench está definido como Instância.

  6. Na seção Ambiente, use a versão mais recente ou uma versão numerada como M113 ou mais recente.

  7. Clique em Criar.

    O Workbench da plataforma de agentes cria uma instância e a inicia automaticamente. Quando a instância estiver pronta para uso, o Workbench da plataforma de agentes vai ativar 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 Serviço Gerenciado para Apache Spark e Jobs e sessões do Serviço Gerenciado para 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 Serviço Gerenciado para Apache Spark

Os modelos de ambiente de execução do Serviço Gerenciado para Apache Spark que estão na mesma região e projeto que sua instância do Workbench da plataforma de agentes aparecem na seção Notebooks do Serviço Gerenciado para Apache Spark da guia Acesso rápido do JupyterLab.

Para criar um modelo de ambiente de execução, consulte Criar um modelo de ambiente de execução do Serviço Gerenciado para Apache Spark runtime template.

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 Serviço Gerenciado para Apache Spark no Compute Engine

Se você criou um cluster do Jupyter do Serviço Gerenciado para Apache Spark no Compute Engine , a guia Acesso rápido terá uma seção Notebooks de cluster do Serviço Gerenciado para 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:

  1. Selecione Configurações > Configurações do Serviço Gerenciado para Apache Spark do Cloud.

  2. Na guia Configuração, em Informações do projeto, altere o ID do projeto e a Região e clique em Salvar.

    Essas mudanças só vão entrar em vigor quando você reiniciar o JupyterLab.

  3. Para reiniciar o JupyterLab, selecione Arquivo > Desligar e em seguida, clique em Abrir JupyterLab na página Instâncias do Workbench da plataforma de agentes.

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 Serviço Gerenciado para Apache Spark em uma instância usando a CLI gcloud e a API

Esta seção descreve maneiras de gerenciar o Serviço Gerenciado para Apache Spark em uma instância do Workbench da plataforma de agentes.

Mudar a região do cluster do Serviço Gerenciado para Apache Spark

Os kernels padrão da sua instância do Workbench da plataforma de agentes, como Python e TensorFlow, são kernels locais executados na VM da instância. Em uma instância do Workbench da plataforma de agentes ativada para o Spark do Serviço Gerenciado para Apache Spark, o notebook é executado em um cluster do Serviço Gerenciado para 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 Serviço Gerenciado para Apache Spark dentro do mesmo projeto.

Por padrão, o Workbench da plataforma de agentes usa clusters do Serviço Gerenciado para Apache Spark na mesma região da sua instância, mas é possível alterar a região do Serviço Gerenciado para Apache Spark , desde que o Gateway de componentes e o componente opcional Jupyter estejam ativados no cluster do Serviço Gerenciado para Apache Spark.

Testar acesso

A extensão do Serviço Gerenciado para Apache Spark JupyterLab é ativada por padrão para instâncias do Workbench da plataforma de agentes. Para testar o acesso ao Serviço Gerenciado para 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:

  1. Suas entradas DNS estão configuradas corretamente.

  2. Há um cluster disponível no mesmo projeto (ou você precisará criar um, se não existir).

  3. O cluster tem o Gateway de componentes e o componente opcional Jupyter ativados.

Desativar o Serviço Gerenciado para Apache Spark

As instâncias do Workbench da plataforma de agentes são criadas com o Serviço Gerenciado para Apache Spark ativado por padrão. É possível criar uma instância do Workbench da plataforma de agentes com o Serviço Gerenciado para Apache Spark desativado definindo a chave disable-mixer metadata como true.

gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true

Ativar o Serviço Gerenciado para Apache Spark

É possível ativar o Serviço Gerenciado para Apache Spark em uma instância interrompida do Workbench da plataforma de agentes atualizando o valor dos metadados.

gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false

Gerenciar o Serviço Gerenciado para Apache Spark usando o Terraform

O Serviço Gerenciado para Apache Spark para instâncias do Workbench da plataforma de agentes no Terraform é gerenciado usando a chave disable-mixer no campo de metadados. Ative o Serviço Gerenciado para Apache Spark definindo a chave disable-mixer metadata como false. Desative o Serviço Gerenciado para 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.

resource "google_workbench_instance" "default" {
  name     = "workbench-instance-example"
  location = "us-central1-a"

  gce_setup {
    machine_type = "n1-standard-1"
    vm_image {
      project = "cloud-notebooks-managed"
      family  = "workbench-instances"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

Resolver problemas

Para diagnosticar e resolver problemas relacionados à criação de uma instância ativada para o Spark do Serviço Gerenciado para Apache Spark, consulte Solução de problemas do Workbench da plataforma de agentes.

A seguir