Criar uma instância ativada para Dataproc

Nesta página, descrevemos como criar uma instância do Vertex AI Workbench compatível com o Dataproc. Nesta página, também descrevemos os benefícios do plug-in Dataproc JupyterLab e fornecemos uma visão geral sobre como usá-lo com o Dataproc sem servidor para Spark e para o Dataproc no Compute Engine.

Visão geral do plug-in JupyterLab do Dataproc

As instâncias do Vertex AI Workbench têm o plug-in do Dataproc JupyterLab pré-instalado a partir da versão M113.

O plug-in JupyterLab do Dataproc oferece duas maneiras de executar jobs de notebooks do Apache Spark: clusters do Dataproc e o Spark sem servidor no Dataproc.

  • 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 Spark sem servidor com a tecnologia do Dataproc 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 fácil e 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 Spark sem servidor depende dos requisitos específicos de carga de trabalho, do nível de controle desejado e dos padrões de uso de recursos.

Os benefícios do uso do Spark 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 Spark sem servidor faz o escalonamento automático com base na carga de trabalho. Assim, você paga apenas pelos recursos que usar.
  • Alto desempenho: o Spark sem servidor é otimizado para desempenho e aproveita a infraestrutura do Google Cloud.
  • Integração com outras tecnologias do Google Cloud: o Spark sem servidor se integra a outros produtos do Google Cloud, como o BigQuery e o Dataplex.

Para mais informações, consulte a documentação do Dataproc sem servidor.

Limitações e considerações do Dataproc

  • Os jobs do Spark são executados com a identidade da conta de serviço, não com a identidade do usuário que fez o envio.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, 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.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Ative as APIs Cloud Resource Manager, Dataproc, and Notebooks.

    Ative as APIs

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Ative as APIs Cloud Resource Manager, Dataproc, and Notebooks.

    Ative as 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 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 como conceder papéis, consulte Gerenciar acesso.

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:

  • 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 à conta de serviço essas permissões 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:

  1. No 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 Dataproc 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 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 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 o plug-in com o Dataproc sem servidor para Spark

Os modelos de ambiente de execução do Spark sem servidor 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. Para executar seu código no Spark sem servidor, execute uma célula de código no notebook.

Usar o plug-in 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:

  1. Selecione Configurações > Configurações do Cloud Dataproc.

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

  3. 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 Dataproc for iniciado, será possível começar a escrever o código e executá-lo no cluster.

Gerenciar o Dataproc na instância do Vertex AI Workbench usando a CLI gcloud

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

O Dataproc pode ser ativado em uma instância interrompida do Vertex AI Workbench atualizando o valor dos metadados.

gcloud workbench instances create 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.

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

  gce_setup {
    machine_type = "n1-standard-1"
    vm_image {
      project = "deeplearning-platform-release"
      family  = "tf-latest-gpu"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

A seguir